From da7d46b478253d0706340a8ff2ae4a6492f40501 Mon Sep 17 00:00:00 2001 From: Jan Mercl <0xjnml@gmail.com> Date: Wed, 3 Nov 2021 14:50:37 +0000 Subject: [PATCH] linux/s390x: regenerate --- go.mod | 8 +- go.sum | 15 +- internal/mptest/main_linux_s390x.go | 329 +- .../testfixture/testfixture_linux_s390x.go | 4854 ++++++++++------- lib/sqlite_linux_arm64.go | 2 - lib/sqlite_linux_s390x.go | 4217 ++++++++------ libtest/sqlite_linux_arm64.go | 2 - libtest/sqlite_linux_s390x.go | 4291 ++++++++------- speedtest1/main_linux_s390x.go | 245 +- 9 files changed, 7972 insertions(+), 5991 deletions(-) diff --git a/go.mod b/go.mod index c8bef94..f039d14 100644 --- a/go.mod +++ b/go.mod @@ -5,9 +5,9 @@ go 1.15 require ( github.com/mattn/go-sqlite3 v1.14.8 golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac - modernc.org/ccgo/v3 v3.12.51 - modernc.org/libc v1.11.49 + modernc.org/ccgo/v3 v3.12.53 + modernc.org/libc v1.11.52 modernc.org/mathutil v1.4.1 - modernc.org/tcl v1.8.6 - modernc.org/z v1.2.12 + modernc.org/tcl v1.8.7 + modernc.org/z v1.2.13 ) diff --git a/go.sum b/go.sum index a4d3e86..2e5df7f 100644 --- a/go.sum +++ b/go.sum @@ -79,8 +79,9 @@ modernc.org/ccgo/v3 v3.12.43/go.mod h1:k+DqGXd3o7W+inNujK15S5ZYuPoWYLpF5PYougCmt modernc.org/ccgo/v3 v3.12.46/go.mod h1:UZe6EvMSqOxaJ4sznY7b23/k13R8XNlyWsO5bAmSgOE= modernc.org/ccgo/v3 v3.12.47/go.mod h1:m8d6p0zNps187fhBwzY/ii6gxfjob1VxWb919Nk1HUk= modernc.org/ccgo/v3 v3.12.50/go.mod h1:bu9YIwtg+HXQxBhsRDE+cJjQRuINuT9PUK4orOco/JI= -modernc.org/ccgo/v3 v3.12.51 h1:ZrofxqfJ6RRXIBNULm8pLtjWuARmxpq+ShcbRQOdE0Q= modernc.org/ccgo/v3 v3.12.51/go.mod h1:gaIIlx4YpmGO2bLye04/yeblmvWEmE4BBBls4aJXFiE= +modernc.org/ccgo/v3 v3.12.53 h1:I74lSqj3EE2nQdLFXHkV5qKSJ4fu80gBPqniUQZHaOM= +modernc.org/ccgo/v3 v3.12.53/go.mod h1:8xWGGTFkdFEWBEsUmi+DBjwu/WLy3SSOrqEmKUjMeEg= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= @@ -105,8 +106,10 @@ modernc.org/libc v1.11.42/go.mod h1:yzrLDU+sSjLE+D4bIhS7q1L5UwXDOw99PLSX0BlZvSQ= modernc.org/libc v1.11.44/go.mod h1:KFq33jsma7F5WXiYelU8quMJasCCTnHK0mkri4yPHgA= modernc.org/libc v1.11.45/go.mod h1:Y192orvfVQQYFzCNsn+Xt0Hxt4DiO4USpLNXBlXg/tM= modernc.org/libc v1.11.47/go.mod h1:tPkE4PzCTW27E6AIKIR5IwHAQKCAtudEIeAV1/SiyBg= -modernc.org/libc v1.11.49 h1:mWYY+wTwCgus3aiGCdY3Q0/BljKk9Tpy1K6vCfVkDXQ= modernc.org/libc v1.11.49/go.mod h1:9JrJuK5WTtoTWIFQ7QjX2Mb/bagYdZdscI3xrvHbXjE= +modernc.org/libc v1.11.51/go.mod h1:R9I8u9TS+meaWLdbfQhq2kFknTW0O3aw3kEMqDDxMaM= +modernc.org/libc v1.11.52 h1:FJ/yRwXD+iQa7ydlSN6RSkd30GjLvnm4t+YvwasK+h8= +modernc.org/libc v1.11.52/go.mod h1:5ip5vWYPAoMulkQ5XlSJTy12Sz5U6blOQiYasilVPsU= modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= @@ -119,9 +122,9 @@ modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/tcl v1.8.6 h1:NHD9mUh1ONb0fz5TiPeA4Sir1wgV25pIVPWmnMhzdjc= -modernc.org/tcl v1.8.6/go.mod h1:87x6dbQqC0fWlZjBz3sU+4zRYezPS6YB5HH3A+xSWe8= +modernc.org/tcl v1.8.7 h1:zR9cu3uHJnwfsFe6VTvwICfZvbqRwg4Piv9dkPVf7/Q= +modernc.org/tcl v1.8.7/go.mod h1:gRG492KrTpGj4P7O/6Vb3Ia2X4mvyR2J1rDQO1VD8ZI= modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.2.12 h1:VxHQQnybxeT1aXJ9YVHGTouv56B1SVsv4reMsiykzCQ= -modernc.org/z v1.2.12/go.mod h1:U51qD/cPav/5yckF8xNeMPj8nrSdxO0s5J0mOGRox3Y= +modernc.org/z v1.2.13 h1:tvFaClI3x9ezfh7A7IDpWJdjWSamrqKztePeNnnBKRg= +modernc.org/z v1.2.13/go.mod h1:4NXnmQuCJMl/VoaDlpGk41KsnvPfgraE4JVx7Mjf0t8= diff --git a/internal/mptest/main_linux_s390x.go b/internal/mptest/main_linux_s390x.go index 2f39a3b..c3b1970 100644 --- a/internal/mptest/main_linux_s390x.go +++ b/internal/mptest/main_linux_s390x.go @@ -859,6 +859,150 @@ const ( Unix = 1 ) +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// ISO C99 Standard: 7.2 Diagnostics + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// void assert (int expression); +// +// If NDEBUG is defined, do nothing. +// If not, and EXPRESSION is zero, print an error message and abort. + +// void assert_perror (int errnum); +// +// If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an +// error message with the error text for ERRNUM and abort. +// (This is a GNU extension.) + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// ISO C99 Standard 7.4: Character handling + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// bits/types.h -- definitions of __*_t types underlying *_t types. +// Copyright (C) 2002-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// Never include this file directly; use instead. + +// These are all the characteristics of characters. +// If there get to be more than 16 distinct characteristics, +// many things must be changed that use `unsigned short int's. +// +// The characteristics are stored always in network byte order (big +// endian). We define the bit value interpretations here dependent on the +// machine's byte order. + +// Endian macros for string.h functions +// Copyright (C) 1992-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +const ( /* ctype.h:46:1: */ + _ISupper = 1 // UPPERCASE. + _ISlower = 2 // lowercase. + _ISalpha = 4 // Alphabetic. + _ISdigit = 8 // Numeric. + _ISxdigit = 16 // Hexadecimal numeric. + _ISspace = 32 // Whitespace. + _ISprint = 64 // Printing. + _ISgraph = 128 // Graphical. + _ISblank = 256 // Blank (usually SPC and TAB). + _IScntrl = 512 // Control character. + _ISpunct = 1024 // Punctuation. + _ISalnum = 2048 +) + // Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; // the `_SC_*' symbols for the NAME argument to `sysconf'; // and the `_CS_*' symbols for the NAME argument to `confstr'. @@ -1227,118 +1371,10 @@ const ( /* confname.h:71:1: */ _SC_THREAD_ROBUST_PRIO_PROTECT = 248 ) -// Copyright (C) 1991-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . +// A null pointer constant. -// ISO C99 Standard: 7.2 Diagnostics - -// Copyright (C) 1991-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// void assert (int expression); -// -// If NDEBUG is defined, do nothing. -// If not, and EXPRESSION is zero, print an error message and abort. - -// void assert_perror (int errnum); -// -// If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an -// error message with the error text for ERRNUM and abort. -// (This is a GNU extension.) - -// Copyright (C) 1991-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// ISO C99 Standard 7.4: Character handling - -// Copyright (C) 1991-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// bits/types.h -- definitions of __*_t types underlying *_t types. -// Copyright (C) 2002-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// Never include this file directly; use instead. - -// These are all the characteristics of characters. -// If there get to be more than 16 distinct characteristics, -// many things must be changed that use `unsigned short int's. -// -// The characteristics are stored always in network byte order (big -// endian). We define the bit value interpretations here dependent on the -// machine's byte order. - -// Endian macros for string.h functions +// XPG requires a few symbols from being defined. +// Definitions of flag bits for `waitpid' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -1354,21 +1390,21 @@ const ( /* confname.h:71:1: */ // // You should have received a copy of the GNU Lesser General Public // License along with the GNU C Library; if not, see -// . +// . -const ( /* ctype.h:46:1: */ - _ISupper = 1 // UPPERCASE. - _ISlower = 2 // lowercase. - _ISalpha = 4 // Alphabetic. - _ISdigit = 8 // Numeric. - _ISxdigit = 16 // Hexadecimal numeric. - _ISspace = 32 // Whitespace. - _ISprint = 64 // Printing. - _ISgraph = 128 // Graphical. - _ISblank = 256 // Blank (usually SPC and TAB). - _IScntrl = 512 // Control character. - _ISpunct = 1024 // Punctuation. - _ISalnum = 2048 +// Bits in the third argument to `waitpid'. + +// Bits in the fourth argument to `waitid'. + +// The following values are used by the `waitid' function. + +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. + +const ( /* waitflags.h:52:1: */ + P_ALL = 0 // Wait for any child. + P_PID = 1 // Wait for specified process. + P_PGID = 2 ) type ptrdiff_t = int64 /* :3:26 */ @@ -3924,7 +3960,7 @@ type fpos_t = _G_fpos64_t /* stdio.h:86:20 */ // Never include this file directly; use instead. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -3956,15 +3992,6 @@ type fpos_t = _G_fpos64_t /* stdio.h:86:20 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -3999,11 +4026,6 @@ type fpos_t = _G_fpos64_t /* stdio.h:86:20 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // The Single Unix specification says that some more types are @@ -4020,11 +4042,6 @@ type intptr_t = int64 /* unistd.h:267:20 */ type socklen_t = uint32 /* unistd.h:274:21 */ -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // XPG requires a few symbols from being defined. @@ -4050,6 +4067,12 @@ type socklen_t = uint32 /* unistd.h:274:21 */ // Bits in the fourth argument to `waitid'. +// The following values are used by the `waitid' function. + +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. + +type idtype_t = uint32 /* waitflags.h:57:3 */ // Definitions of status bits for `wait' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. @@ -4462,7 +4485,7 @@ type time_t = int64 /* time_t.h:7:18 */ // Timer ID returned by `timer_create'. type timer_t = uintptr /* timer_t.h:7:19 */ -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -4494,15 +4517,6 @@ type timer_t = uintptr /* timer_t.h:7:19 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -4537,11 +4551,6 @@ type timer_t = uintptr /* timer_t.h:7:19 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Old compatibility names for C types. diff --git a/internal/testfixture/testfixture_linux_s390x.go b/internal/testfixture/testfixture_linux_s390x.go index a2960cc..c8d5d35 100644 --- a/internal/testfixture/testfixture_linux_s390x.go +++ b/internal/testfixture/testfixture_linux_s390x.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_s390x.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_s390x.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. package main @@ -10,7 +10,6 @@ import ( "modernc.org/libc" "modernc.org/libc/sys/types" - "modernc.org/sqlite/internal/libc2" "modernc.org/sqlite/libtest" "modernc.org/tcl/lib" ) @@ -722,7 +721,7 @@ const ( TCL_PARSE_QUOTE_EXTRA = 1 TCL_PARSE_SUCCESS = 0 TCL_PARSE_SYNTAX = 8 - TCL_PATCH_LEVEL = "8.6.7" + TCL_PATCH_LEVEL = "8.6.10" TCL_READABLE = 2 TCL_REG_ADVANCED = 000003 TCL_REG_ADVF = 000002 @@ -739,7 +738,7 @@ const ( TCL_REG_NOTEOL = 0002 TCL_REG_QUOTE = 000004 TCL_RELEASE_LEVEL = 2 - TCL_RELEASE_SERIAL = 7 + TCL_RELEASE_SERIAL = 10 TCL_RESULT_SIZE = 200 TCL_RETURN = 2 TCL_SERVICE_ALL = 1 @@ -1752,7 +1751,7 @@ const ( EP_xIsSelect = 0x000800 EXCLUSIVE_LOCK = 4 EXPRDUP_REDUCE = 0x0001 - GCC_VERSION = 7005000 + GCC_VERSION = 9003000 HAVE_DLFCN_H = 1 HAVE_FCHOWN = 1 HAVE_FDATASYNC = 1 @@ -3149,6 +3148,300 @@ const ( TESTVFS_WRITE_MASK = 0x00001000 ) +// Floating-point inline functions for stdlib.h. +// Copyright (C) 2012-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// Define some macros helping to catch buffer overflows. + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// ISO C99 Standard: 7.2 Diagnostics + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// void assert (int expression); +// +// If NDEBUG is defined, do nothing. +// If not, and EXPRESSION is zero, print an error message and abort. + +// void assert_perror (int errnum); +// +// If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an +// error message with the error text for ERRNUM and abort. +// (This is a GNU extension.) + +// Copyright (C) 1989-2019 Free Software Foundation, Inc. +// +// This file is part of GCC. +// +// GCC is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// GCC is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. +// +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +// ISO C Standard: 7.15 Variable arguments + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// ISO C99 Standard 7.4: Character handling + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// bits/types.h -- definitions of __*_t types underlying *_t types. +// Copyright (C) 2002-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// Never include this file directly; use instead. + +// These are all the characteristics of characters. +// If there get to be more than 16 distinct characteristics, +// many things must be changed that use `unsigned short int's. +// +// The characteristics are stored always in network byte order (big +// endian). We define the bit value interpretations here dependent on the +// machine's byte order. + +// Endian macros for string.h functions +// Copyright (C) 1992-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +const ( /* ctype.h:46:1: */ + _ISupper = 1 // UPPERCASE. + _ISlower = 2 // lowercase. + _ISalpha = 4 // Alphabetic. + _ISdigit = 8 // Numeric. + _ISxdigit = 16 // Hexadecimal numeric. + _ISspace = 32 // Whitespace. + _ISprint = 64 // Printing. + _ISgraph = 128 // Graphical. + _ISblank = 256 // Blank (usually SPC and TAB). + _IScntrl = 512 // Control character. + _ISpunct = 1024 // Punctuation. + _ISalnum = 2048 +) + +// Inform libc code that these two types are effectively identical. + +// These macros extract size information from a `struct dirent *'. +// They may evaluate their argument multiple times, so it must not +// have side effects. Each of these may involve a relatively costly +// call to `strlen' on some systems, so these values should be cached. +// +// _D_EXACT_NAMLEN (DP) returns the length of DP->d_name, not including +// its terminating null character. +// +// _D_ALLOC_NAMLEN (DP) returns a size at least (_D_EXACT_NAMLEN (DP) + 1); +// that is, the allocation size needed to hold the DP->d_name string. +// Use this macro when you don't need the exact length, just an upper bound. +// This macro is less likely to require calling `strlen' than _D_EXACT_NAMLEN. +// + +// File types for `d_type'. +const ( /* dirent.h:97:1: */ + DT_UNKNOWN = 0 + DT_FIFO = 1 + DT_CHR = 2 + DT_DIR = 4 + DT_BLK = 6 + DT_REG = 8 + DT_LNK = 10 + DT_SOCK = 12 + DT_WHT = 14 +) + +// Read-write lock types. +const ( /* pthread.h:100:1: */ + PTHREAD_RWLOCK_PREFER_READER_NP = 0 + PTHREAD_RWLOCK_PREFER_WRITER_NP = 1 + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2 + PTHREAD_RWLOCK_DEFAULT_NP = 0 +) + +// Read-write lock initializers. + +// Scheduler inheritance. +const ( /* pthread.h:120:1: */ + PTHREAD_INHERIT_SCHED = 0 + PTHREAD_EXPLICIT_SCHED = 1 +) + +// Scope handling. +const ( /* pthread.h:130:1: */ + PTHREAD_SCOPE_SYSTEM = 0 + PTHREAD_SCOPE_PROCESS = 1 +) + +// Process shared or private flag. +const ( /* pthread.h:140:1: */ + PTHREAD_PROCESS_PRIVATE = 0 + PTHREAD_PROCESS_SHARED = 1 +) + +// Cancellation +const ( /* pthread.h:164:1: */ + PTHREAD_CANCEL_ENABLE = 0 + PTHREAD_CANCEL_DISABLE = 1 +) +const ( /* pthread.h:171:1: */ + PTHREAD_CANCEL_DEFERRED = 0 + PTHREAD_CANCEL_ASYNCHRONOUS = 1 +) + +// Determine the wordsize from the preprocessor defines. + +// NB: Include guard matches what uses. + +// Detach state. +const ( /* pthread.h:33:1: */ + PTHREAD_CREATE_JOINABLE = 0 + PTHREAD_CREATE_DETACHED = 1 +) + +// Mutex types. +const ( /* pthread.h:43:1: */ + PTHREAD_MUTEX_TIMED_NP = 0 + PTHREAD_MUTEX_RECURSIVE_NP = 1 + PTHREAD_MUTEX_ERRORCHECK_NP = 2 + PTHREAD_MUTEX_ADAPTIVE_NP = 3 + PTHREAD_MUTEX_NORMAL = 0 + PTHREAD_MUTEX_RECURSIVE = 1 + PTHREAD_MUTEX_ERRORCHECK = 2 + PTHREAD_MUTEX_DEFAULT = 0 + PTHREAD_MUTEX_FAST_NP = 0 +) + +// Robust mutex or not flags. +const ( /* pthread.h:65:1: */ + PTHREAD_MUTEX_STALLED = 0 + PTHREAD_MUTEX_STALLED_NP = 0 + PTHREAD_MUTEX_ROBUST = 1 + PTHREAD_MUTEX_ROBUST_NP = 1 +) + +// Mutex protocols. +const ( /* pthread.h:77:1: */ + PTHREAD_PRIO_NONE = 0 + PTHREAD_PRIO_INHERIT = 1 + PTHREAD_PRIO_PROTECT = 2 +) + // Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; // the `_SC_*' symbols for the NAME argument to `sysconf'; // and the `_CS_*' symbols for the NAME argument to `confstr'. @@ -3564,6 +3857,10 @@ const ( /* resource.h:158:1: */ // All of its terminated child processes. RUSAGE_CHILDREN = -1 +) + +// Whose usage statistics do you want? +const ( /* resource.h:158:1: */ // The calling thread. RUSAGE_THREAD = 1 ) @@ -3578,15 +3875,9 @@ const ( /* resource.h:187:1: */ PRIO_USER = 2 ) -// end block for C++ +// Convenience macros for operations on timevals. +// NOTE: `timercmp' does not work for >= or <=. -// Local Variables: -// mode: c -// c-basic-offset: 4 -// fill-column: 78 -// End: - -// Needed for the setrlimit() system call on unix // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -3910,19 +4201,10 @@ const ( /* ss_flags.h:27:1: */ SS_DISABLE = 2 ) -// Seconds since the Epoch, visible to user code when time_t is too -// narrow only for consistency with the old way of widening too-narrow -// types. User code should never use __time64_t. +// A null pointer constant. -// These are all the characteristics of characters. -// If there get to be more than 16 distinct characteristics, -// many things must be changed that use `unsigned short int's. -// -// The characteristics are stored always in network byte order (big -// endian). We define the bit value interpretations here dependent on the -// machine's byte order. - -// Endian macros for string.h functions +// XPG requires a few symbols from being defined. +// Definitions of flag bits for `waitpid' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -3938,141 +4220,21 @@ const ( /* ss_flags.h:27:1: */ // // You should have received a copy of the GNU Lesser General Public // License along with the GNU C Library; if not, see -// . +// . -// Definitions for byte order, according to significance of bytes, -// from low addresses to high addresses. The value is what you get by -// putting '4' in the most significant byte, '3' in the second most -// significant byte, '2' in the second least significant byte, and '1' -// in the least significant byte, and then writing down one digit for -// each byte, starting with the byte at the lowest address at the left, -// and proceeding to the byte with the highest address at the right. +// Bits in the third argument to `waitpid'. -// This file defines `__BYTE_ORDER' for the particular machine. +// Bits in the fourth argument to `waitid'. -// S/390 is big-endian. +// The following values are used by the `waitid' function. -// Some machines may need to use a different endianness for floating point -// values. +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. -const ( /* ctype.h:46:1: */ - _ISupper = 1 // UPPERCASE. - _ISlower = 2 // lowercase. - _ISalpha = 4 // Alphabetic. - _ISdigit = 8 // Numeric. - _ISxdigit = 16 // Hexadecimal numeric. - _ISspace = 32 // Whitespace. - _ISprint = 64 // Printing. - _ISgraph = 128 // Graphical. - _ISblank = 256 // Blank (usually SPC and TAB). - _IScntrl = 512 // Control character. - _ISpunct = 1024 // Punctuation. - _ISalnum = 2048 -) - -// Inform libc code that these two types are effectively identical. - -// These macros extract size information from a `struct dirent *'. -// They may evaluate their argument multiple times, so it must not -// have side effects. Each of these may involve a relatively costly -// call to `strlen' on some systems, so these values should be cached. -// -// _D_EXACT_NAMLEN (DP) returns the length of DP->d_name, not including -// its terminating null character. -// -// _D_ALLOC_NAMLEN (DP) returns a size at least (_D_EXACT_NAMLEN (DP) + 1); -// that is, the allocation size needed to hold the DP->d_name string. -// Use this macro when you don't need the exact length, just an upper bound. -// This macro is less likely to require calling `strlen' than _D_EXACT_NAMLEN. -// - -// File types for `d_type'. -const ( /* dirent.h:97:1: */ - DT_UNKNOWN = 0 - DT_FIFO = 1 - DT_CHR = 2 - DT_DIR = 4 - DT_BLK = 6 - DT_REG = 8 - DT_LNK = 10 - DT_SOCK = 12 - DT_WHT = 14 -) - -// Read-write lock types. -const ( /* pthread.h:100:1: */ - PTHREAD_RWLOCK_PREFER_READER_NP = 0 - PTHREAD_RWLOCK_PREFER_WRITER_NP = 1 - PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2 - PTHREAD_RWLOCK_DEFAULT_NP = 0 -) - -// Read-write lock initializers. - -// Scheduler inheritance. -const ( /* pthread.h:120:1: */ - PTHREAD_INHERIT_SCHED = 0 - PTHREAD_EXPLICIT_SCHED = 1 -) - -// Scope handling. -const ( /* pthread.h:130:1: */ - PTHREAD_SCOPE_SYSTEM = 0 - PTHREAD_SCOPE_PROCESS = 1 -) - -// Process shared or private flag. -const ( /* pthread.h:140:1: */ - PTHREAD_PROCESS_PRIVATE = 0 - PTHREAD_PROCESS_SHARED = 1 -) - -// Cancellation -const ( /* pthread.h:164:1: */ - PTHREAD_CANCEL_ENABLE = 0 - PTHREAD_CANCEL_DISABLE = 1 -) -const ( /* pthread.h:171:1: */ - PTHREAD_CANCEL_DEFERRED = 0 - PTHREAD_CANCEL_ASYNCHRONOUS = 1 -) - -// Determine the wordsize from the preprocessor defines. - -// NB: Include guard matches what uses. - -// Detach state. -const ( /* pthread.h:33:1: */ - PTHREAD_CREATE_JOINABLE = 0 - PTHREAD_CREATE_DETACHED = 1 -) - -// Mutex types. -const ( /* pthread.h:43:1: */ - PTHREAD_MUTEX_TIMED_NP = 0 - PTHREAD_MUTEX_RECURSIVE_NP = 1 - PTHREAD_MUTEX_ERRORCHECK_NP = 2 - PTHREAD_MUTEX_ADAPTIVE_NP = 3 - PTHREAD_MUTEX_NORMAL = 0 - PTHREAD_MUTEX_RECURSIVE = 1 - PTHREAD_MUTEX_ERRORCHECK = 2 - PTHREAD_MUTEX_DEFAULT = 0 - PTHREAD_MUTEX_FAST_NP = 0 -) - -// Robust mutex or not flags. -const ( /* pthread.h:65:1: */ - PTHREAD_MUTEX_STALLED = 0 - PTHREAD_MUTEX_STALLED_NP = 0 - PTHREAD_MUTEX_ROBUST = 1 - PTHREAD_MUTEX_ROBUST_NP = 1 -) - -// Mutex protocols. -const ( /* pthread.h:77:1: */ - PTHREAD_PRIO_NONE = 0 - PTHREAD_PRIO_INHERIT = 1 - PTHREAD_PRIO_PROTECT = 2 +const ( /* waitflags.h:52:1: */ + P_ALL = 0 // Wait for any child. + P_PID = 1 // Wait for specified process. + P_PGID = 2 ) // Values for the first argument to `getitimer' and `setitimer'. @@ -4088,7 +4250,7 @@ const ( /* time.h:89:1: */ // Positions to pass to Tcl_QueueEvent: -const ( /* tcl.h:1391:1: */ +const ( /* tcl.h:1387:1: */ TCL_QUEUE_TAIL = 0 TCL_QUEUE_HEAD = 1 TCL_QUEUE_MARK = 2 @@ -4101,7 +4263,7 @@ const ( /* tcl.h:1391:1: */ //---------------------------------------------------------------------------- // Enum for different types of file paths. -const ( /* tcl.h:1613:1: */ +const ( /* tcl.h:1609:1: */ TCL_PATH_ABSOLUTE = 0 TCL_PATH_RELATIVE = 1 TCL_PATH_VOLUME_RELATIVE = 2 @@ -4131,7 +4293,7 @@ const ( /* tcl.h:1613:1: */ // Argument descriptors for math function callbacks in expressions: -const ( /* tcl.h:694:1: */ +const ( /* tcl.h:690:1: */ TCL_INT = 0 TCL_DOUBLE = 1 TCL_EITHER = 2 @@ -4206,21 +4368,21 @@ type sqlite32 = struct { FmTrace u8 FnoSharedCache u8 FnSqlExec u8 - _ [3]byte + F__ccgo_pad1 [3]byte FnextPagesize int32 Fmagic u32 FnChange int32 FnTotalChange int32 FaLimit [12]int32 FnMaxSorterMmap int32 - _ [4]byte + F__ccgo_pad2 [4]byte Finit struct { FnewTnum Pgno FiDb u8 Fbusy u8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } FnVdbeActive int32 @@ -4251,9 +4413,9 @@ type sqlite32 = struct { FpCollNeededArg uintptr FpErr uintptr Fu1 struct { - _ [0]uint64 + F__ccgo_pad1 [0]uint64 FisInterrupted int32 - _ [4]byte + F__ccgo_pad2 [4]byte } Flookaside Lookaside FxAuth sqlite3_xauth @@ -4532,7 +4694,7 @@ type sqlite3_file1 = struct{ FpMethods uintptr } /* sqlite3.h:684:9 */ type sqlite3_file = sqlite3_file1 /* sqlite3.h:684:29 */ type sqlite3_io_methods1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxClose uintptr FxRead uintptr FxWrite uintptr @@ -4996,9 +5158,9 @@ type sqlite3_io_methods = sqlite3_io_methods1 /* sqlite3.h:783:35 */ // // Mutexes are created using [sqlite3_mutex_alloc()]. type sqlite3_mutex1 = struct { - FpReal uintptr - FeType int32 - _ [4]byte + FpReal uintptr + FeType int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:1206:9 */ // CAPI3REF: Loadable Extension Thunk @@ -5434,7 +5596,7 @@ type sqlite3_vfs1 = struct { FiVersion int32 FszOsFile int32 FmxPathname int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpNext uintptr FzName uintptr FpAppData uintptr @@ -5824,16 +5986,16 @@ type sqlite3_value1 = struct { // [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], // and/or [sqlite3_set_auxdata()]. type sqlite3_context1 = struct { - FpOut uintptr - FpFunc uintptr - FpMem uintptr - FpVdbe uintptr - FiOp int32 - FisError int32 - FskipFlag u8 - Fargc u8 - _ [6]byte - Fargv [1]uintptr + FpOut uintptr + FpFunc uintptr + FpMem uintptr + FpVdbe uintptr + FiOp int32 + FisError int32 + FskipFlag u8 + Fargc u8 + F__ccgo_pad1 [6]byte + Fargv [1]uintptr } /* sqlite3.h:249:9 */ // CAPI3REF: Constants Defining Special Destructor Behavior @@ -5859,10 +6021,10 @@ type sqlite3_destructor_type = uintptr /* sqlite3.h:5665:14 */ // Structures used by the virtual table interface type sqlite3_vtab1 = struct { - FpModule uintptr - FnRef int32 - _ [4]byte - FzErrMsg uintptr + FpModule uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FzErrMsg uintptr } /* sqlite3.h:6784:9 */ // The interface to the virtual-table mechanism is currently considered @@ -5876,21 +6038,21 @@ type sqlite3_vtab1 = struct { type sqlite3_vtab = sqlite3_vtab1 /* sqlite3.h:6784:29 */ type sqlite3_index_info1 = struct { FnConstraint int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaConstraint uintptr FnOrderBy int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaOrderBy uintptr FaConstraintUsage uintptr FidxNum int32 - _ [4]byte + F__ccgo_pad3 [4]byte FidxStr uintptr FneedToFreeIdxStr int32 ForderByConsumed int32 FestimatedCost float64 FestimatedRows sqlite3_int64 FidxFlags int32 - _ [4]byte + F__ccgo_pad4 [4]byte FcolUsed sqlite3_uint64 } /* sqlite3.h:6785:9 */ @@ -5900,7 +6062,7 @@ type sqlite3_vtab_cursor1 = struct{ FpVtab uintptr } /* sqlite3.h:6786:9 */ type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 /* sqlite3.h:6786:36 */ type sqlite3_module1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreate uintptr FxConnect uintptr FxBestIndex uintptr @@ -6032,7 +6194,7 @@ type sqlite3_index_constraint = struct { FiColumn int32 Fop uint8 Fusable uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FiTermOffset int32 } /* sqlite3.h:6785:9 */ @@ -6137,9 +6299,9 @@ type sqlite3_index_constraint = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_orderby = struct { - FiColumn int32 - Fdesc uint8 - _ [3]byte + FiColumn int32 + Fdesc uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.h:6785:9 */ // CAPI3REF: Virtual Table Indexing Information @@ -6243,9 +6405,9 @@ type sqlite3_index_orderby = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_constraint_usage = struct { - FargvIndex int32 - Fomit uint8 - _ [3]byte + FargvIndex int32 + Fomit uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.h:6785:9 */ // CAPI3REF: Mutex Methods Object @@ -6410,7 +6572,7 @@ type sqlite3_str1 = struct { FnChar u32 FaccError u8 FprintfFlags u8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.h:7882:9 */ // CAPI3REF: Custom Page Cache Object @@ -6594,20 +6756,20 @@ type sqlite3_pcache_page = sqlite3_pcache_page1 /* sqlite3.h:8375:36 */ // is not obligated to free any memory, but well-behaved implementations should // do their best. type sqlite3_pcache_methods21 = struct { - FiVersion int32 - _ [4]byte - FpArg uintptr - FxInit uintptr - FxShutdown uintptr - FxCreate uintptr - FxCachesize uintptr - FxPagecount uintptr - FxFetch uintptr - FxUnpin uintptr - FxRekey uintptr - FxTruncate uintptr - FxDestroy uintptr - FxShrink uintptr + FiVersion int32 + F__ccgo_pad1 [4]byte + FpArg uintptr + FxInit uintptr + FxShutdown uintptr + FxCreate uintptr + FxCachesize uintptr + FxPagecount uintptr + FxFetch uintptr + FxUnpin uintptr + FxRekey uintptr + FxTruncate uintptr + FxDestroy uintptr + FxShrink uintptr } /* sqlite3.h:8540:9 */ // CAPI3REF: Application Defined Page Cache. @@ -6867,12 +7029,12 @@ type sqlite3_snapshot = sqlite3_snapshot1 /* sqlite3.h:9632:3 */ // type sqlite3_rtree_geometry1 = struct { - FpContext uintptr - FnParam int32 - _ [4]byte - FaParam uintptr - FpUser uintptr - FxDelUser uintptr + FpContext uintptr + FnParam int32 + F__ccgo_pad1 [4]byte + FaParam uintptr + FpUser uintptr + FxDelUser uintptr } /* sqlite3.h:9957:9 */ // CAPI3REF: Flags for sqlite3_deserialize() @@ -6914,7 +7076,7 @@ type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 /* sqlite3.h:9957:39 */ type sqlite3_rtree_query_info1 = struct { FpContext uintptr FnParam int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaParam uintptr FpUser uintptr FxDelUser uintptr @@ -6923,7 +7085,7 @@ type sqlite3_rtree_query_info1 = struct { FnCoord int32 FiLevel int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiRowid sqlite3_int64 FrParentScore sqlite3_rtree_dbl FeParentWithin int32 @@ -6970,7 +7132,7 @@ type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ type Fts5ExtensionApi1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxUserData uintptr FxColumnCount uintptr FxRowCount uintptr @@ -7053,7 +7215,7 @@ type fts5_tokenizer = fts5_tokenizer1 /* sqlite3.h:12276:31 */ // FTS5 EXTENSION REGISTRATION API type fts5_api1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreateTokenizer uintptr FxFindTokenizer uintptr FxCreateFunction uintptr @@ -7081,7 +7243,7 @@ type fts5_api = fts5_api1 /* sqlite3.h:12312:25 */ type sqlite3expert1 = struct { FiSample int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fdb uintptr Fdbm uintptr Fdbv uintptr @@ -7090,10 +7252,10 @@ type sqlite3expert1 = struct { FpWrite uintptr FpStatement uintptr FbRun int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpzErrmsg uintptr Frc int32 - _ [4]byte + F__ccgo_pad3 [4]byte FhIdx IdxHash FzCandidates uintptr } /* sqlite3expert.h:17:9 */ @@ -7203,7 +7365,7 @@ type _G_fpos64_t = struct { type _IO_FILE = struct { F_flags int32 - _ [4]byte + F__ccgo_pad1 [4]byte F_IO_read_ptr uintptr F_IO_read_end uintptr F_IO_read_base uintptr @@ -7223,7 +7385,7 @@ type _IO_FILE = struct { F_cur_column uint16 F_vtable_offset int8 F_shortbuf [1]uint8 - _ [4]byte + F__ccgo_pad2 [4]byte F_lock uintptr F_offset int64 F_codecvt uintptr @@ -7256,10 +7418,10 @@ type i64 = sqlite3_int64 /* sqlite3expert.c:20:23 */ type u64 = sqlite3_uint64 /* sqlite3expert.c:21:24 */ type IdxColumn1 = struct { - FzName uintptr - FzColl uintptr - FiPk int32 - _ [4]byte + FzName uintptr + FzColl uintptr + FiPk int32 + F__ccgo_pad1 [4]byte } /* sqlite3expert.h:17:9 */ type IdxColumn = IdxColumn1 /* sqlite3expert.c:23:26 */ @@ -7275,41 +7437,41 @@ type IdxConstraint1 = struct { type IdxConstraint = IdxConstraint1 /* sqlite3expert.c:24:30 */ type IdxScan1 = struct { - FpTab uintptr - FiDb int32 - _ [4]byte - Fcovering i64 - FpOrder uintptr - FpEq uintptr - FpRange uintptr - FpNextScan uintptr + FpTab uintptr + FiDb int32 + F__ccgo_pad1 [4]byte + Fcovering i64 + FpOrder uintptr + FpEq uintptr + FpRange uintptr + FpNextScan uintptr } /* sqlite3expert.h:17:9 */ type IdxScan = IdxScan1 /* sqlite3expert.c:25:24 */ type IdxStatement1 = struct { - FiId int32 - _ [4]byte - FzSql uintptr - FzIdx uintptr - FzEQP uintptr - FpNext uintptr + FiId int32 + F__ccgo_pad1 [4]byte + FzSql uintptr + FzIdx uintptr + FzEQP uintptr + FpNext uintptr } /* sqlite3expert.h:17:9 */ type IdxStatement = IdxStatement1 /* sqlite3expert.c:26:29 */ type IdxTable1 = struct { - FnCol int32 - _ [4]byte - FzName uintptr - FaCol uintptr - FpNext uintptr + FnCol int32 + F__ccgo_pad1 [4]byte + FzName uintptr + FaCol uintptr + FpNext uintptr } /* sqlite3expert.h:17:9 */ type IdxTable = IdxTable1 /* sqlite3expert.c:27:25 */ type IdxWrite1 = struct { - FpTab uintptr - FeOp int32 - _ [4]byte - FpNext uintptr + FpTab uintptr + FeOp int32 + F__ccgo_pad1 [4]byte + FpNext uintptr } /* sqlite3expert.h:17:9 */ type IdxWrite = IdxWrite1 /* sqlite3expert.c:28:25 */ @@ -8578,11 +8740,11 @@ func idxCreateVtabSchema(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* } type IdxSampleCtx = struct { - FiTarget int32 - _ [4]byte - Ftarget float64 - FnRow float64 - FnRet float64 + FiTarget int32 + F__ccgo_pad1 [4]byte + Ftarget float64 + FnRow float64 + FnRet float64 } /* sqlite3expert.c:1378:1 */ func idxSampleFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3expert.c:1385:13: */ @@ -8612,27 +8774,27 @@ func idxSampleFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* s } type IdxRemCtx = struct { - FnSlot int32 - _ [4]byte - FaSlot [1]struct { - FeType int32 - _ [4]byte - FiVal i64 - FrVal float64 - FnByte int32 - Fn int32 - Fz uintptr + FnSlot int32 + F__ccgo_pad1 [4]byte + FaSlot [1]struct { + FeType int32 + F__ccgo_pad1 [4]byte + FiVal i64 + FrVal float64 + FnByte int32 + Fn int32 + Fz uintptr } } /* sqlite3expert.c:1411:1 */ type IdxRemSlot = struct { - FeType int32 - _ [4]byte - FiVal i64 - FrVal float64 - FnByte int32 - Fn int32 - Fz uintptr + FeType int32 + F__ccgo_pad1 [4]byte + FiVal i64 + FrVal float64 + FnByte int32 + Fn int32 + Fz uintptr } /* sqlite3expert.c:1411:1 */ // Implementation of scalar function rem(). @@ -9222,7 +9384,7 @@ func sqlite3_expert_destroy(tls *libc.TLS, p uintptr) { /* sqlite3expert.c:1948: // // New code should just directly be written to use stdarg.h conventions. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -9299,7 +9461,7 @@ func sqlite3_expert_destroy(tls *libc.TLS, p uintptr) { /* sqlite3expert.c:1948: // Miscellaneous declarations. -type ClientData = uintptr /* tcl.h:344:15 */ +type ClientData = uintptr /* tcl.h:340:15 */ // Darwin specific configure overrides (to support fat compiles, where // configure runs only once for multiple architectures): @@ -9323,8 +9485,8 @@ type ClientData = uintptr /* tcl.h:344:15 */ // tclObj.c) depends on the function // sprintf(...,"%" TCL_LL_MODIFIER "d",...). -type Tcl_WideInt = int64 /* tcl.h:419:28 */ -type Tcl_WideUInt = uint64 /* tcl.h:420:36 */ +type Tcl_WideInt = int64 /* tcl.h:415:28 */ +type Tcl_WideUInt = uint64 /* tcl.h:416:36 */ // The next short section of defines are only done when not running on Windows // or some other strange platform. @@ -9378,8 +9540,8 @@ type Tcl_Interp1 = struct { FresultDontUse uintptr FfreeProcDontUse uintptr FerrorLineDontUse int32 - _ [4]byte -} /* tcl.h:497:9 */ + F__ccgo_pad1 [4]byte +} /* tcl.h:493:9 */ //---------------------------------------------------------------------------- // Data structures defined opaquely in this module. The definitions below just @@ -9399,33 +9561,33 @@ type Tcl_Interp1 = struct { // Instead, they set a Tcl_Obj member in the "real" structure that can be // accessed with Tcl_GetObjResult() and Tcl_SetObjResult(). -type Tcl_Interp = Tcl_Interp1 /* tcl.h:529:1 */ +type Tcl_Interp = Tcl_Interp1 /* tcl.h:525:1 */ -type Tcl_AsyncHandler = uintptr /* tcl.h:531:34 */ -type Tcl_Channel = uintptr /* tcl.h:532:29 */ -type Tcl_ChannelTypeVersion = uintptr /* tcl.h:533:40 */ -type Tcl_Command = uintptr /* tcl.h:534:29 */ -type Tcl_Condition = uintptr /* tcl.h:535:31 */ -type Tcl_Dict = uintptr /* tcl.h:536:26 */ -type Tcl_EncodingState = uintptr /* tcl.h:537:35 */ -type Tcl_Encoding = uintptr /* tcl.h:538:30 */ +type Tcl_AsyncHandler = uintptr /* tcl.h:527:34 */ +type Tcl_Channel = uintptr /* tcl.h:528:29 */ +type Tcl_ChannelTypeVersion = uintptr /* tcl.h:529:40 */ +type Tcl_Command = uintptr /* tcl.h:530:29 */ +type Tcl_Condition = uintptr /* tcl.h:531:31 */ +type Tcl_Dict = uintptr /* tcl.h:532:26 */ +type Tcl_EncodingState = uintptr /* tcl.h:533:35 */ +type Tcl_Encoding = uintptr /* tcl.h:534:30 */ type Tcl_Event1 = struct { Fproc uintptr FnextPtr uintptr -} /* tcl.h:539:9 */ +} /* tcl.h:535:9 */ -type Tcl_Event = Tcl_Event1 /* tcl.h:539:26 */ -type Tcl_InterpState = uintptr /* tcl.h:540:33 */ -type Tcl_LoadHandle = uintptr /* tcl.h:541:32 */ -type Tcl_Mutex = uintptr /* tcl.h:542:27 */ -type Tcl_Pid = uintptr /* tcl.h:543:25 */ -type Tcl_RegExp = uintptr /* tcl.h:544:28 */ -type Tcl_ThreadDataKey = uintptr /* tcl.h:545:35 */ -type Tcl_ThreadId = uintptr /* tcl.h:546:30 */ -type Tcl_TimerToken = uintptr /* tcl.h:547:32 */ -type Tcl_Trace = uintptr /* tcl.h:548:27 */ -type Tcl_Var = uintptr /* tcl.h:549:25 */ -type Tcl_ZlibStream = uintptr /* tcl.h:550:32 */ +type Tcl_Event = Tcl_Event1 /* tcl.h:535:26 */ +type Tcl_InterpState = uintptr /* tcl.h:536:33 */ +type Tcl_LoadHandle = uintptr /* tcl.h:537:32 */ +type Tcl_Mutex = uintptr /* tcl.h:538:27 */ +type Tcl_Pid = uintptr /* tcl.h:539:25 */ +type Tcl_RegExp = uintptr /* tcl.h:540:28 */ +type Tcl_ThreadDataKey = uintptr /* tcl.h:541:35 */ +type Tcl_ThreadId = uintptr /* tcl.h:542:30 */ +type Tcl_TimerToken = uintptr /* tcl.h:543:32 */ +type Tcl_Trace = uintptr /* tcl.h:544:27 */ +type Tcl_Var = uintptr /* tcl.h:545:25 */ +type Tcl_ZlibStream = uintptr /* tcl.h:546:32 */ // Threading function return types used for abstracting away platform // differences when writing a Tcl_ThreadCreateProc. See the NewThread function @@ -9447,7 +9609,7 @@ type Tcl_ZlibStream = uintptr /* tcl.h:550:32 */ type Tcl_RegExpIndices1 = struct { Fstart int64 Fend int64 -} /* tcl.h:627:9 */ +} /* tcl.h:623:9 */ // Threading function return types used for abstracting away platform // differences when writing a Tcl_ThreadCreateProc. See the NewThread function @@ -9466,23 +9628,23 @@ type Tcl_RegExpIndices1 = struct { // relative to the start of the match string, not the beginning of the entire // string. -type Tcl_RegExpIndices = Tcl_RegExpIndices1 /* tcl.h:632:3 */ +type Tcl_RegExpIndices = Tcl_RegExpIndices1 /* tcl.h:628:3 */ type Tcl_RegExpInfo1 = struct { Fnsubs int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fmatches uintptr FextendStart int64 Freserved int64 -} /* tcl.h:634:9 */ +} /* tcl.h:630:9 */ -type Tcl_RegExpInfo = Tcl_RegExpInfo1 /* tcl.h:641:3 */ +type Tcl_RegExpInfo = Tcl_RegExpInfo1 /* tcl.h:637:3 */ // Picky compilers complain if this typdef doesn't appear before the struct's // reference in tclDecls.h. -type Tcl_Stat_ = uintptr /* tcl.h:648:21 */ -type Tcl_OldStat_ = uintptr /* tcl.h:649:21 */ +type Tcl_Stat_ = uintptr /* tcl.h:644:21 */ +type Tcl_OldStat_ = uintptr /* tcl.h:645:21 */ //---------------------------------------------------------------------------- // When a TCL command returns, the interpreter contains a result from the @@ -9508,33 +9670,33 @@ type Tcl_OldStat_ = uintptr /* tcl.h:649:21 */ // Argument descriptors for math function callbacks in expressions: -type Tcl_ValueType = uint32 /* tcl.h:696:3 */ +type Tcl_ValueType = uint32 /* tcl.h:692:3 */ type Tcl_Value1 = struct { Ftype Tcl_ValueType - _ [4]byte + F__ccgo_pad1 [4]byte FintValue int64 FdoubleValue float64 FwideValue Tcl_WideInt -} /* tcl.h:698:9 */ +} /* tcl.h:694:9 */ -type Tcl_Value = Tcl_Value1 /* tcl.h:704:3 */ +type Tcl_Value = Tcl_Value1 /* tcl.h:700:3 */ // Forward declaration of Tcl_Obj to prevent an error when the forward // reference to Tcl_Obj is encountered in the function types declared below. type Tcl_Obj1 = struct { FrefCount int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fbytes uintptr Flength int32 - _ [4]byte + F__ccgo_pad2 [4]byte FtypePtr uintptr FinternalRep struct { - FlongValue int64 - _ [8]byte + FlongValue int64 + F__ccgo_pad1 [8]byte } -} /* tcl.h:711:1 */ +} /* tcl.h:707:1 */ //---------------------------------------------------------------------------- // The following structure represents a type of object, which is a particular @@ -9547,20 +9709,20 @@ type Tcl_ObjType1 = struct { FdupIntRepProc uintptr FupdateStringProc uintptr FsetFromAnyProc uintptr -} /* tcl.h:711:1 */ +} /* tcl.h:707:1 */ //---------------------------------------------------------------------------- // The following structure represents a type of object, which is a particular // internal representation for an object plus a set of functions that provide // standard operations on objects of that type. -type Tcl_ObjType = Tcl_ObjType1 /* tcl.h:800:3 */ +type Tcl_ObjType = Tcl_ObjType1 /* tcl.h:796:3 */ // One of the following structures exists for each object in the Tcl system. // An object stores a value as either a string, some internal representation, // or both. -type Tcl_Obj = Tcl_Obj1 /* tcl.h:847:3 */ +type Tcl_Obj = Tcl_Obj1 /* tcl.h:843:3 */ //---------------------------------------------------------------------------- // The following structure contains the state needed by Tcl_SaveResult. No-one @@ -9575,15 +9737,15 @@ type Tcl_SavedResult1 = struct { FappendAvl int32 FappendUsed int32 FresultSpace [201]uint8 - _ [7]byte -} /* tcl.h:868:9 */ + F__ccgo_pad1 [7]byte +} /* tcl.h:864:9 */ //---------------------------------------------------------------------------- // The following structure contains the state needed by Tcl_SaveResult. No-one // outside of Tcl should access any of these fields. This structure is // typically allocated on the stack. -type Tcl_SavedResult = Tcl_SavedResult1 /* tcl.h:876:3 */ +type Tcl_SavedResult = Tcl_SavedResult1 /* tcl.h:872:3 */ //---------------------------------------------------------------------------- // The following definitions support Tcl's namespace facility. Note: the first @@ -9596,14 +9758,14 @@ type Tcl_Namespace1 = struct { FclientData ClientData FdeleteProc uintptr FparentPtr uintptr -} /* tcl.h:885:9 */ +} /* tcl.h:881:9 */ //---------------------------------------------------------------------------- // The following definitions support Tcl's namespace facility. Note: the first // five fields must match exactly the fields in a Namespace structure (see // tclInt.h). -type Tcl_Namespace = Tcl_Namespace1 /* tcl.h:901:3 */ +type Tcl_Namespace = Tcl_Namespace1 /* tcl.h:897:3 */ //---------------------------------------------------------------------------- // The following structure represents a call frame, or activation record. A @@ -9627,23 +9789,23 @@ type Tcl_Namespace = Tcl_Namespace1 /* tcl.h:901:3 */ // CallFrame structure in tclInt.h. If you change one, change the other. type Tcl_CallFrame1 = struct { - FnsPtr uintptr - Fdummy1 int32 - Fdummy2 int32 - Fdummy3 uintptr - Fdummy4 uintptr - Fdummy5 uintptr - Fdummy6 int32 - _ [4]byte - Fdummy7 uintptr - Fdummy8 uintptr - Fdummy9 int32 - _ [4]byte - Fdummy10 uintptr - Fdummy11 uintptr - Fdummy12 uintptr - Fdummy13 uintptr -} /* tcl.h:926:9 */ + FnsPtr uintptr + Fdummy1 int32 + Fdummy2 int32 + Fdummy3 uintptr + Fdummy4 uintptr + Fdummy5 uintptr + Fdummy6 int32 + F__ccgo_pad1 [4]byte + Fdummy7 uintptr + Fdummy8 uintptr + Fdummy9 int32 + F__ccgo_pad2 [4]byte + Fdummy10 uintptr + Fdummy11 uintptr + Fdummy12 uintptr + Fdummy13 uintptr +} /* tcl.h:922:9 */ //---------------------------------------------------------------------------- // The following structure represents a call frame, or activation record. A @@ -9666,7 +9828,7 @@ type Tcl_CallFrame1 = struct { // WARNING!! The structure definition must be kept consistent with the // CallFrame structure in tclInt.h. If you change one, change the other. -type Tcl_CallFrame = Tcl_CallFrame1 /* tcl.h:941:3 */ +type Tcl_CallFrame = Tcl_CallFrame1 /* tcl.h:937:3 */ //---------------------------------------------------------------------------- // Information about commands that is returned by Tcl_GetCommandInfo and @@ -9683,7 +9845,7 @@ type Tcl_CallFrame = Tcl_CallFrame1 /* tcl.h:941:3 */ type Tcl_CmdInfo1 = struct { FisNativeObjectProc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FobjProc uintptr FobjClientData ClientData Fproc uintptr @@ -9691,7 +9853,7 @@ type Tcl_CmdInfo1 = struct { FdeleteProc uintptr FdeleteData ClientData FnamespacePtr uintptr -} /* tcl.h:958:9 */ +} /* tcl.h:954:9 */ //---------------------------------------------------------------------------- // Information about commands that is returned by Tcl_GetCommandInfo and @@ -9706,7 +9868,7 @@ type Tcl_CmdInfo1 = struct { // wrapper that does string-to-object or object-to-string argument conversions // then calls the other function. -type Tcl_CmdInfo = Tcl_CmdInfo1 /* tcl.h:977:3 */ +type Tcl_CmdInfo = Tcl_CmdInfo1 /* tcl.h:973:3 */ //---------------------------------------------------------------------------- // The structure defined below is used to hold dynamic strings. The only @@ -9718,14 +9880,14 @@ type Tcl_DString1 = struct { Flength int32 FspaceAvl int32 FstaticSpace [200]uint8 -} /* tcl.h:987:9 */ +} /* tcl.h:983:9 */ //---------------------------------------------------------------------------- // The structure defined below is used to hold dynamic strings. The only // fields that clients should use are string and length, accessible via the // macros Tcl_DStringValue and Tcl_DStringLength. -type Tcl_DString = Tcl_DString1 /* tcl.h:997:3 */ +type Tcl_DString = Tcl_DString1 /* tcl.h:993:3 */ // Definitions for the maximum number of digits of precision that may be // specified in the "tcl_precision" variable, and the number of bytes of @@ -9797,7 +9959,7 @@ type Tcl_HashKeyType1 = struct { FcompareKeysProc uintptr FallocEntryProc uintptr FfreeEntryProc uintptr -} /* tcl.h:1156:9 */ +} /* tcl.h:1152:9 */ // Definitions for the maximum number of digits of precision that may be // specified in the "tcl_precision" variable, and the number of bytes of @@ -9862,7 +10024,7 @@ type Tcl_HashKeyType1 = struct { //---------------------------------------------------------------------------- // Forward declarations of Tcl_HashTable and related types. -type Tcl_HashKeyType = Tcl_HashKeyType1 /* tcl.h:1156:32 */ +type Tcl_HashKeyType = Tcl_HashKeyType1 /* tcl.h:1152:32 */ type Tcl_HashTable1 = struct { Fbuckets uintptr FstaticBuckets [4]uintptr @@ -9875,18 +10037,18 @@ type Tcl_HashTable1 = struct { FfindProc uintptr FcreateProc uintptr FtypePtr uintptr -} /* tcl.h:1157:9 */ +} /* tcl.h:1153:9 */ -type Tcl_HashTable = Tcl_HashTable1 /* tcl.h:1157:30 */ +type Tcl_HashTable = Tcl_HashTable1 /* tcl.h:1153:30 */ type Tcl_HashEntry1 = struct { FnextPtr uintptr FtablePtr uintptr Fhash uintptr FclientData ClientData Fkey struct{ FoneWordValue uintptr } -} /* tcl.h:1157:9 */ +} /* tcl.h:1153:9 */ -type Tcl_HashEntry = Tcl_HashEntry1 /* tcl.h:1158:30 */ +type Tcl_HashEntry = Tcl_HashEntry1 /* tcl.h:1154:30 */ // Structure definition for information used to keep track of searches through // hash tables: @@ -9894,14 +10056,14 @@ type Tcl_HashEntry = Tcl_HashEntry1 /* tcl.h:1158:30 */ type Tcl_HashSearch1 = struct { FtablePtr uintptr FnextIndex int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnextEntryPtr uintptr -} /* tcl.h:1312:9 */ +} /* tcl.h:1308:9 */ // Structure definition for information used to keep track of searches through // hash tables: -type Tcl_HashSearch = Tcl_HashSearch1 /* tcl.h:1318:3 */ +type Tcl_HashSearch = Tcl_HashSearch1 /* tcl.h:1314:3 */ // Acceptable key types for hash tables: // @@ -9929,13 +10091,13 @@ type Tcl_HashSearch = Tcl_HashSearch1 /* tcl.h:1318:3 */ type Tcl_DictSearch = struct { Fnext uintptr Fepoch int32 - _ [4]byte + F__ccgo_pad1 [4]byte FdictionaryPtr Tcl_Dict -} /* tcl.h:1358:3 */ +} /* tcl.h:1354:3 */ // Positions to pass to Tcl_QueueEvent: -type Tcl_QueuePosition = uint32 /* tcl.h:1393:3 */ +type Tcl_QueuePosition = uint32 /* tcl.h:1389:3 */ // Values to pass to Tcl_SetServiceMode to specify the behavior of notifier // event routines. @@ -9947,7 +10109,7 @@ type Tcl_QueuePosition = uint32 /* tcl.h:1393:3 */ type Tcl_Time1 = struct { Fsec int64 Fusec int64 -} /* tcl.h:1409:9 */ +} /* tcl.h:1405:9 */ // Values to pass to Tcl_SetServiceMode to specify the behavior of notifier // event routines. @@ -9956,7 +10118,7 @@ type Tcl_Time1 = struct { // absolute time (the number of seconds from the epoch) or as an elapsed time. // On Unix systems the epoch is Midnight Jan 1, 1970 GMT. -type Tcl_Time = Tcl_Time1 /* tcl.h:1412:3 */ +type Tcl_Time = Tcl_Time1 /* tcl.h:1408:3 */ // struct Tcl_ChannelType: // @@ -9985,7 +10147,7 @@ type Tcl_ChannelType1 = struct { FwideSeekProc uintptr FthreadActionProc uintptr FtruncateProc uintptr -} /* tcl.h:1528:9 */ +} /* tcl.h:1524:9 */ // struct Tcl_ChannelType: // @@ -9996,7 +10158,7 @@ type Tcl_ChannelType1 = struct { // It is recommend that the Tcl_Channel* functions are used to access elements // of this structure, instead of direct accessing. -type Tcl_ChannelType = Tcl_ChannelType1 /* tcl.h:1596:3 */ +type Tcl_ChannelType = Tcl_ChannelType1 /* tcl.h:1592:3 */ // The following flags determine whether the blockModeProc above should set // the channel into blocking or nonblocking mode. They are passed as arguments @@ -10005,7 +10167,7 @@ type Tcl_ChannelType = Tcl_ChannelType1 /* tcl.h:1596:3 */ //---------------------------------------------------------------------------- // Enum for different types of file paths. -type Tcl_PathType = uint32 /* tcl.h:1617:3 */ +type Tcl_PathType = uint32 /* tcl.h:1613:3 */ // The following structure is used to pass glob type data amongst the various // glob routines and Tcl_FSMatchInDirectory. @@ -10015,19 +10177,19 @@ type Tcl_GlobTypeData1 = struct { Fperm int32 FmacType uintptr FmacCreator uintptr -} /* tcl.h:1624:9 */ +} /* tcl.h:1620:9 */ // The following structure is used to pass glob type data amongst the various // glob routines and Tcl_FSMatchInDirectory. -type Tcl_GlobTypeData = Tcl_GlobTypeData1 /* tcl.h:1629:3 */ +type Tcl_GlobTypeData = Tcl_GlobTypeData1 /* tcl.h:1625:3 */ // We have to declare the utime structure here. type utimbuf = struct { Factime int64 Fmodtime int64 } /* utime.h:36:1 */ -type Tcl_FSVersion = uintptr /* tcl.h:1704:31 */ +type Tcl_FSVersion = uintptr /* tcl.h:1700:31 */ //---------------------------------------------------------------------------- // Data structures related to hooking into the filesystem @@ -10048,7 +10210,7 @@ type Tcl_FSVersion = uintptr /* tcl.h:1704:31 */ type Tcl_Filesystem1 = struct { FtypeName uintptr FstructureLength int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fversion Tcl_FSVersion FpathInFilesystemProc uintptr FdupInternalRepProc uintptr @@ -10078,7 +10240,7 @@ type Tcl_Filesystem1 = struct { FloadFileProc uintptr FgetCwdProc uintptr FchdirProc uintptr -} /* tcl.h:1730:9 */ +} /* tcl.h:1726:9 */ //---------------------------------------------------------------------------- // Data structures related to hooking into the filesystem @@ -10096,7 +10258,7 @@ type Tcl_Filesystem1 = struct { // However, a complete filesystem should provide all of these functions. The // explanations in the structure show the importance of each function. -type Tcl_Filesystem = Tcl_Filesystem1 /* tcl.h:1877:3 */ +type Tcl_Filesystem = Tcl_Filesystem1 /* tcl.h:1873:3 */ // The following definitions are used as values for the 'linkAction' flag to // Tcl_FSLink, or the linkProc of any filesystem. Any combination of flags can @@ -10119,7 +10281,7 @@ type Tcl_NotifierProcs1 = struct { FfinalizeNotifierProc uintptr FalertNotifierProc uintptr FserviceModeHookProc uintptr -} /* tcl.h:1898:9 */ +} /* tcl.h:1894:9 */ // The following definitions are used as values for the 'linkAction' flag to // Tcl_FSLink, or the linkProc of any filesystem. Any combination of flags can @@ -10133,7 +10295,7 @@ type Tcl_NotifierProcs1 = struct { // The following structure represents the Notifier functions that you can // override with the Tcl_SetNotifier call. -type Tcl_NotifierProcs = Tcl_NotifierProcs1 /* tcl.h:1907:3 */ +type Tcl_NotifierProcs = Tcl_NotifierProcs1 /* tcl.h:1903:3 */ //---------------------------------------------------------------------------- // The following data structures and declarations are for the new Tcl parser. @@ -10144,11 +10306,11 @@ type Tcl_NotifierProcs = Tcl_NotifierProcs1 /* tcl.h:1907:3 */ type Tcl_Token1 = struct { Ftype int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fstart uintptr Fsize int32 FnumComponents int32 -} /* tcl.h:1918:9 */ +} /* tcl.h:1914:9 */ //---------------------------------------------------------------------------- // The following data structures and declarations are for the new Tcl parser. @@ -10157,7 +10319,7 @@ type Tcl_Token1 = struct { // reference, one of the following structures is created to describe the // token. -type Tcl_Token = Tcl_Token1 /* tcl.h:1928:3 */ +type Tcl_Token = Tcl_Token1 /* tcl.h:1924:3 */ // Type values defined for Tcl_Token structures. These values are defined as // mask bits so that it's easy to check for collections of types. @@ -10217,7 +10379,7 @@ type Tcl_Token = Tcl_Token1 /* tcl.h:1928:3 */ // TCL_TOKEN_OPERATOR - The token describes one expression operator. // An operator might be the name of a math // function such as "abs". A TCL_TOKEN_OPERATOR -// token is always preceeded by one +// token is always preceded by one // TCL_TOKEN_SUB_EXPR token for the operator's // subexpression, and is followed by zero or more // TCL_TOKEN_SUB_EXPR tokens for the operator's @@ -10237,7 +10399,7 @@ type Tcl_Token = Tcl_Token1 /* tcl.h:1928:3 */ type Tcl_Parse1 = struct { FcommentStart uintptr FcommentSize int32 - _ [4]byte + F__ccgo_pad1 [4]byte FcommandStart uintptr FcommandSize int32 FnumWords int32 @@ -10245,15 +10407,15 @@ type Tcl_Parse1 = struct { FnumTokens int32 FtokensAvailable int32 FerrorType int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fstring uintptr Fend uintptr Finterp uintptr Fterm uintptr Fincomplete int32 - _ [4]byte + F__ccgo_pad3 [4]byte FstaticTokens [20]Tcl_Token -} /* tcl.h:2034:9 */ +} /* tcl.h:2030:9 */ // Type values defined for Tcl_Token structures. These values are defined as // mask bits so that it's easy to check for collections of types. @@ -10313,7 +10475,7 @@ type Tcl_Parse1 = struct { // TCL_TOKEN_OPERATOR - The token describes one expression operator. // An operator might be the name of a math // function such as "abs". A TCL_TOKEN_OPERATOR -// token is always preceeded by one +// token is always preceded by one // TCL_TOKEN_SUB_EXPR token for the operator's // subexpression, and is followed by zero or more // TCL_TOKEN_SUB_EXPR tokens for the operator's @@ -10330,7 +10492,7 @@ type Tcl_Parse1 = struct { // A structure of the following type is filled in by Tcl_ParseCommand. It // describes a single command parsed from an input string. -type Tcl_Parse = Tcl_Parse1 /* tcl.h:2087:3 */ +type Tcl_Parse = Tcl_Parse1 /* tcl.h:2083:3 */ //---------------------------------------------------------------------------- // The following structure represents a user-defined encoding. It collects @@ -10343,14 +10505,14 @@ type Tcl_EncodingType1 = struct { FfreeProc uintptr FclientData ClientData FnullSize int32 - _ [4]byte -} /* tcl.h:2095:9 */ + F__ccgo_pad1 [4]byte +} /* tcl.h:2091:9 */ //---------------------------------------------------------------------------- // The following structure represents a user-defined encoding. It collects // together all the functions that are used by the specific encoding. -type Tcl_EncodingType = Tcl_EncodingType1 /* tcl.h:2115:3 */ +type Tcl_EncodingType = Tcl_EncodingType1 /* tcl.h:2111:3 */ // The following definitions are used as values for the conversion control // flags argument when converting text from one character set to another: @@ -10432,7 +10594,7 @@ type Tcl_EncodingType = Tcl_EncodingType1 /* tcl.h:2115:3 */ // This represents a Unicode character. Any changes to this should also be // reflected in regcustom.h. -type Tcl_UniChar = uint16 /* tcl.h:2232:24 */ +type Tcl_UniChar = uint16 /* tcl.h:2228:24 */ //---------------------------------------------------------------------------- // TIP #59: The following structure is used in calls 'Tcl_RegisterConfig' to @@ -10441,14 +10603,14 @@ type Tcl_UniChar = uint16 /* tcl.h:2232:24 */ type Tcl_Config1 = struct { Fkey uintptr Fvalue uintptr -} /* tcl.h:2241:9 */ +} /* tcl.h:2237:9 */ //---------------------------------------------------------------------------- // TIP #59: The following structure is used in calls 'Tcl_RegisterConfig' to // provide the system with the embedded configuration data. -type Tcl_Config = Tcl_Config1 /* tcl.h:2246:3 */ -type mp_digit = uint32 /* tcl.h:2272:22 */ +type Tcl_Config = Tcl_Config1 /* tcl.h:2242:3 */ +type mp_digit = uint32 /* tcl.h:2268:22 */ //---------------------------------------------------------------------------- // Definitions needed for Tcl_ParseArgvObj routines. @@ -10456,30 +10618,30 @@ type mp_digit = uint32 /* tcl.h:2272:22 */ // Modifications from the original are copyright (c) Sam Bromley 2006 type Tcl_ArgvInfo = struct { - Ftype int32 - _ [4]byte - FkeyStr uintptr - FsrcPtr uintptr - FdstPtr uintptr - FhelpStr uintptr - FclientData ClientData -} /* tcl.h:2293:3 */ + Ftype int32 + F__ccgo_pad1 [4]byte + FkeyStr uintptr + FsrcPtr uintptr + FdstPtr uintptr + FhelpStr uintptr + FclientData ClientData +} /* tcl.h:2289:3 */ type TclPlatStubs1 = struct { - Fmagic int32 - _ [4]byte - Fhooks uintptr -} /* tclDecls.h:1821:11 */ + Fmagic int32 + F__ccgo_pad1 [4]byte + Fhooks uintptr +} /* tclDecls.h:1840:11 */ type TclStubHooks = struct { FtclPlatStubs uintptr FtclIntStubs uintptr FtclIntPlatStubs uintptr -} /* tclDecls.h:1824:3 */ +} /* tclDecls.h:1843:3 */ type TclStubs1 = struct { Fmagic int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fhooks uintptr Ftcl_PkgProvideEx uintptr Ftcl_PkgRequireEx uintptr @@ -11112,9 +11274,27 @@ type TclStubs1 = struct { Ftcl_FindSymbol uintptr Ftcl_FSUnloadFile uintptr Ftcl_ZlibStreamSetCompressionDictionary uintptr -} /* tclDecls.h:1826:9 */ + Freserved631 uintptr + Freserved632 uintptr + Freserved633 uintptr + Freserved634 uintptr + Freserved635 uintptr + Freserved636 uintptr + Freserved637 uintptr + Freserved638 uintptr + Freserved639 uintptr + Freserved640 uintptr + Freserved641 uintptr + Freserved642 uintptr + Freserved643 uintptr + Freserved644 uintptr + Freserved645 uintptr + Freserved646 uintptr + Freserved647 uintptr + FtclUnusedStubEntry uintptr +} /* tclDecls.h:1845:9 */ -type TclStubs = TclStubs1 /* tclDecls.h:2485:3 */ +type TclStubs = TclStubs1 /* tclDecls.h:2522:3 */ // !END!: Do not edit above this line. @@ -11271,10 +11451,10 @@ func testExpertCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 } type Subcmd = struct { - FzSub uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr + FzSub uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr } /* test_expert.c:62:3 */ func testExpertDel(tls *libc.TLS, clientData uintptr) { /* test_expert.c:150:27: */ @@ -11485,9 +11665,9 @@ func f5tResultToErrorCode(tls *libc.TLS, zRes uintptr) int32 { /* fts5_tcl.c:69: } type ErrorCode = struct { - Frc int32 - _ [4]byte - FzError uintptr + Frc int32 + F__ccgo_pad1 [4]byte + FzError uintptr } /* fts5_tcl.c:70:3 */ func f5tDbAndApi(tls *libc.TLS, interp uintptr, pObj uintptr, ppDb uintptr, ppApi uintptr) int32 { /* fts5_tcl.c:90:26: */ @@ -11677,7 +11857,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv case 0: { var nCol int32 - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 16 /* &.xColumnCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nCol)) } @@ -11688,7 +11870,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv { // var nRow sqlite3_int64 at bp+496, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 24 /* &.xRowCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+496 /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxRowCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+496 /* &nRow */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 496 /* nRow */)))) } @@ -11704,7 +11888,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+504 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 32 /* &.xColumnTotalSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 504 /* iCol */)), bp+512 /* &nSize */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnTotalSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 504 /* iCol */)), bp+512 /* &nSize */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 512 /* nSize */)))) } @@ -11720,7 +11906,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv (*F5tFunction)(unsafe.Pointer(bp + 528 /* &ctx */)).Finterp = interp (*F5tFunction)(unsafe.Pointer(bp + 528 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 40 /* &.xTokenize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, zText, *(*int32)(unsafe.Pointer(bp + 520 /* nText */)), bp+528 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxTokenize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, zText, *(*int32)(unsafe.Pointer(bp + 520 /* nText */)), bp+528 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{xTokenizeCb}))) if rc == SQLITE_OK { @@ -11732,7 +11920,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv case 4: { var nPhrase int32 - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 48 /* &.xPhraseCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nPhrase)) } @@ -11747,7 +11937,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+544 /* &iPhrase */) != 0 { return TCL_ERROR } - sz = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 544 /* iPhrase */))) + sz = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 544 /* iPhrase */))) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sz)) } @@ -11758,7 +11950,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv { // var nInst int32 at bp+548, 4 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 64 /* &.xInstCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+548 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxInstCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+548 /* &nInst */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 548 /* nInst */)))) } @@ -11778,7 +11972,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+552 /* &iIdx */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 72 /* &.xInst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 552 /* iIdx */)), bp+556 /* &ip */, bp+560 /* &ic */, bp+564 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxInst})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 552 /* iIdx */)), bp+556 /* &ip */, bp+560 /* &ic */, bp+564 /* &io */) if rc == SQLITE_OK { var pList uintptr = tcl.XTcl_NewObj(tls) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 556 /* ip */)))) @@ -11791,7 +11987,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } case 8: { - var iRowid sqlite3_int64 = (*(*func(*libc.TLS, uintptr) sqlite3_int64)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 80 /* &.xRowid */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) + var iRowid sqlite3_int64 = (*struct { + f func(*libc.TLS, uintptr) sqlite3_int64 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxRowid})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, iRowid)) break @@ -11805,7 +12003,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+568 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 88 /* &.xColumnText */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 568 /* iCol */)), bp+576 /* &z */, bp+584 /* &n */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnText})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 568 /* iCol */)), bp+576 /* &z */, bp+584 /* &n */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 576 /* z */)), *(*int32)(unsafe.Pointer(bp + 584 /* n */)))) } @@ -11820,7 +12020,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+588 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 96 /* &.xColumnSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 588 /* iCol */)), bp+592 /* &n */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 588 /* iCol */)), bp+592 /* &n */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 592 /* n */)))) } @@ -11838,7 +12040,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } (*F5tFunction)(unsafe.Pointer(bp + 600 /* &ctx */)).Finterp = interp (*F5tFunction)(unsafe.Pointer(bp + 600 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 104 /* &.xQueryPhrase */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 596 /* iPhrase */)), bp+600 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxQueryPhrase})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 596 /* iPhrase */)), bp+600 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{xQueryPhraseCb}))) if rc == SQLITE_OK { @@ -11856,7 +12060,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } (*F5tAuxData)(unsafe.Pointer(pData)).FpObj = *(*uintptr)(unsafe.Pointer(objv + 2*8)) (*Tcl_Obj)(unsafe.Pointer((*F5tAuxData)(unsafe.Pointer(pData)).FpObj)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 112 /* &.xSetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, pData, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xSetAuxdataDestructor}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxSetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, pData, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xSetAuxdataDestructor}))) break } @@ -11868,7 +12074,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+616 /* &bClear */) != 0 { return TCL_ERROR } - pData = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 616 /* bClear */))) + pData = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxGetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 616 /* bClear */))) if pData == uintptr(0) { tcl.XTcl_ResetResult(tls, interp) } else { @@ -11892,7 +12100,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+620 /* &iVal */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 112 /* &.xSetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, (uintptr(0) + uintptr(*(*int32)(unsafe.Pointer(bp + 620 /* iVal */)))), uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxSetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, (uintptr(0) + uintptr(*(*int32)(unsafe.Pointer(bp + 620 /* iVal */)))), uintptr(0)) break } @@ -11904,7 +12114,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+624 /* &bClear */) != 0 { return TCL_ERROR } - iVal = (int32((int64((*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 624 /* bClear */)))) - int64(uintptr(0))) / 1)) + iVal = (int32((int64((*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxGetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 624 /* bClear */)))) - int64(uintptr(0))) / 1)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iVal)) break @@ -11929,12 +12141,16 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) zOffvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8))) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 128 /* &.xPhraseFirst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 628 /* iPhrase */)), bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseFirst})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 628 /* iPhrase */)), bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - for ; *(*int32)(unsafe.Pointer(bp + 648 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 136 /* &.xPhraseNext */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) { + for ; *(*int32)(unsafe.Pointer(bp + 648 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseNext})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) { tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 648 /* iCol */))), 0) tcl.XTcl_SetVar2Ex(tls, interp, zOffvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 652 /* iOff */))), 0) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) @@ -11968,12 +12184,16 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 144 /* &.xPhraseFirstColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 656 /* iPhrase */)), bp+664 /* &iter */, bp+680 /* &iCol */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseFirstColumn})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 656 /* iPhrase */)), bp+664 /* &iter */, bp+680 /* &iCol */) if rc != SQLITE_OK { tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_ERROR } - for ; *(*int32)(unsafe.Pointer(bp + 680 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 152 /* &.xPhraseNextColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+664 /* &iter */, bp+680 /* &iCol */) { + for ; *(*int32)(unsafe.Pointer(bp + 680 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseNextColumn})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+664 /* &iter */, bp+680 /* &iCol */) { tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 680 /* iCol */))), 0) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) if rc == TCL_CONTINUE { @@ -12005,17 +12225,19 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } type Sub = struct { - FzName uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr } /* fts5_tcl.c:224:3 */ func xF5tFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* fts5_tcl.c:517:13: */ bp := tls.Alloc(112) defer tls.Free(112) - var p uintptr = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((pApi + 8 /* &.xUserData */))))(tls, pFts) + var p uintptr = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxUserData})).f(tls, pFts) var pEval uintptr // Script to evaluate var i int32 var rc int32 @@ -12146,7 +12368,9 @@ func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc i (*F5tFunction)(unsafe.Pointer(pCtx)).FpScript = pScript (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)) + 24 /* &.xCreateFunction */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)))).FxCreateFunction})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)), zName, pCtx, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{xF5tFunction})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xF5tDestroy}))) @@ -12159,10 +12383,10 @@ func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } type F5tTokenizeCtx1 = struct { - FpRet uintptr - FbSubst int32 - _ [4]byte - FzInput uintptr + FpRet uintptr + FbSubst int32 + F__ccgo_pad1 [4]byte + FzInput uintptr } /* fts5_tcl.c:648:9 */ type F5tTokenizeCtx = F5tTokenizeCtx1 /* fts5_tcl.c:648:31 */ @@ -12230,13 +12454,17 @@ func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } zText = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+128 /* &nText */) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)) + 16 /* &.xFindTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), bp+136 /* &pUserdata */, bp+144 /* &tokenizer */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)))).FxFindTokenizer})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), bp+136 /* &pUserdata */, bp+144 /* &tokenizer */) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+2508 /* "no such tokenize..." */, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), 0)) return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 144 /* &tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* pUserdata */)), (*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)) + 1*8), (*(*int32)(unsafe.Pointer(bp + 112 /* nArg */)) - 1), bp+168 /* &pTok */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144 /* &tokenizer */)).FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* pUserdata */)), (*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)) + 1*8), (*(*int32)(unsafe.Pointer(bp + 112 /* nArg */)) - 1), bp+168 /* &pTok */) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+2528 /* "error in tokeniz..." */, 0)) return TCL_ERROR @@ -12247,11 +12475,13 @@ func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FbSubst = (libc.Bool32(objc == 5)) (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FpRet = pRet (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FzInput = zText - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 144 /* &tokenizer */ + 16 /* &.xTokenize */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144 /* &tokenizer */)).FxTokenize})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */)), bp+176 /* &ctx */, FTS5_TOKENIZE_DOCUMENT, zText, *(*int32)(unsafe.Pointer(bp + 128 /* nText */)), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{xTokenizeCb2}))) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((bp + 144 /* &tokenizer */ + 8 /* &.xDelete */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */))) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144 /* &tokenizer */)).FxDelete})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */))) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, ts+2557 /* "error in tokeniz..." */, 0)) for ok := true; ok; ok = 0 != 0 { @@ -12464,7 +12694,9 @@ __6: __7: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*F5tTokenizerContext)(unsafe.Pointer(p)).FpCtx, tflags, zToken, *(*int32)(unsafe.Pointer(bp + 20 /* nToken */)), *(*int32)(unsafe.Pointer(bp + 24 /* iStart */)), *(*int32)(unsafe.Pointer(bp + 28 /* iEnd */))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*F5tTokenizerContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*F5tTokenizerContext)(unsafe.Pointer(p)).FpCtx, tflags, zToken, *(*int32)(unsafe.Pointer(bp + 20 /* nToken */)), *(*int32)(unsafe.Pointer(bp + 24 /* iStart */)), *(*int32)(unsafe.Pointer(bp + 28 /* iEnd */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) if rc == SQLITE_OK { return TCL_OK @@ -12540,7 +12772,9 @@ func f5tCreateTokenizer(tls *libc.TLS, clientData ClientData, interp uintptr, ob (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpScript = pScript (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpContext = pContext (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)) + 8 /* &.xCreateTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)), zName, pMod, bp+32 /* &t */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tDelTokenizer}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)))).FxCreateTokenizer})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)), zName, pMod, bp+32 /* &t */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tDelTokenizer}))) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2724 /* "error in fts5_ap..." */, 0)) return TCL_ERROR @@ -12652,7 +12886,7 @@ func Fts5tcl_Init(tls *libc.TLS, interp uintptr) int32 { /* fts5_tcl.c:1123:5: * FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte }{}))); i++ { var p uintptr = (uintptr(unsafe.Pointer(&aCmd)) + uintptr(i)*24) var pCtx uintptr = uintptr(0) @@ -12660,7 +12894,7 @@ func Fts5tcl_Init(tls *libc.TLS, interp uintptr) int32 { /* fts5_tcl.c:1123:5: * FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte })(unsafe.Pointer(p)).FbTokenizeCtx != 0 { pCtx = pContext } @@ -12668,12 +12902,12 @@ func Fts5tcl_Init(tls *libc.TLS, interp uintptr) int32 { /* fts5_tcl.c:1123:5: * FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte })(unsafe.Pointer(p)).FzName, (*struct { FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte })(unsafe.Pointer(p)).FxProc, pCtx, func() uintptr { if i != 0 { return uintptr(0) @@ -12689,7 +12923,7 @@ var aCmd = [8]struct { FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte }{ {FzName: ts + 2773 /* "sqlite3_fts5_cre..." */, FxProc: 0, FbTokenizeCtx: 1}, {FzName: ts + 2803 /* "sqlite3_fts5_tok..." */, FxProc: 0, FbTokenizeCtx: 1}, @@ -12702,12 +12936,12 @@ var aCmd = [8]struct { } /* fts5_tcl.c:1128:5 */ type Fts5MatchinfoCtx1 = struct { - FnCol int32 - FnPhrase int32 - FzArg uintptr - FnRet int32 - _ [4]byte - FaRet uintptr + FnCol int32 + FnPhrase int32 + FzArg uintptr + FnRet int32 + F__ccgo_pad1 [4]byte + FaRet uintptr } /* fts5_test_mi.c:50:9 */ type Fts5MatchinfoCtx = Fts5MatchinfoCtx1 /* fts5_test_mi.c:50:33 */ @@ -12780,7 +13014,9 @@ func fts5MatchinfoIter(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, x u var rc int32 = SQLITE_OK var f uint8 for i = 0; libc.AssignUint8(&f, *(*uint8)(unsafe.Pointer((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg + uintptr(i)))) != 0; i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uint8, uintptr) int32)(unsafe.Pointer(&x)))(tls, pApi, pFts, p, f, ((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet + uintptr(n)*4)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uint8, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pApi, pFts, p, f, ((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet + uintptr(n)*4)) if rc != SQLITE_OK { break } @@ -12802,7 +13038,11 @@ func fts5MatchinfoXCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintp var aOut uintptr = pUserData var iPrev int32 = -1 - for (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 128 /* &.xPhraseFirst */))))(tls, pFts, 0, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer((pApi + 136 /* &.xPhraseNext */))))(tls, pFts, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */) { + for (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirst})).f(tls, pFts, 0, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNext})).f(tls, pFts, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */) { *(*u32)(unsafe.Pointer(aOut + uintptr(((*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))*3)+1))*4))++ if *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) != iPrev { *(*u32)(unsafe.Pointer(aOut + uintptr(((*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))*3)+2))*4))++ @@ -12832,7 +13072,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, var i int32 for i = 0; (i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase) && (rc == SQLITE_OK); i++ { var pPtr uintptr = (aOut + uintptr(((i*(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol)*3))*4) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 104 /* &.xQueryPhrase */))))(tls, pFts, i, pPtr, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, pPtr, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{fts5MatchinfoXCb}))) } @@ -12844,7 +13086,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, { // var nRow sqlite3_int64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp /* &nRow */) *(*u32)(unsafe.Pointer(aOut)) = u32(*(*sqlite3_int64)(unsafe.Pointer(bp /* nRow */))) break @@ -12853,7 +13097,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, case 'a': { *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */)) = int64(0) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp+8 /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp+8 /* &nRow */) if *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */)) == int64(0) { libc.Xmemset(tls, aOut, 0, (uint64(unsafe.Sizeof(u32(0))) * uint64((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))) } else { @@ -12861,7 +13107,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, for i = 0; (rc == SQLITE_OK) && (i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol); i++ { // var nToken sqlite3_int64 at bp+16, 8 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xColumnTotalSize */))))(tls, pFts, i, bp+16 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, i, bp+16 /* &nToken */) if rc == SQLITE_OK { *(*u32)(unsafe.Pointer(aOut + uintptr(i)*4)) = (u32(((int64(2) * *(*sqlite3_int64)(unsafe.Pointer(bp + 16 /* nToken */))) + *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */))) / (int64(2) * *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */))))) } @@ -12896,7 +13144,11 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, // var iCol int32 at bp+16, 4 - for (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 144 /* &.xPhraseFirstColumn */))))(tls, pFts, iPhrase, bp /* &iter */, bp+16 /* &iCol */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pApi + 152 /* &.xPhraseNextColumn */))))(tls, pFts, bp /* &iter */, bp+16 /* &iCol */) { + for (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirstColumn})).f(tls, pFts, iPhrase, bp /* &iter */, bp+16 /* &iCol */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNextColumn})).f(tls, pFts, bp /* &iter */, bp+16 /* &iCol */) { *(*u32)(unsafe.Pointer(aOut + uintptr(((iPhrase*(((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol+31)/32))+(*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))/32)))*4)) |= (u32(u32(1)) << (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) % 32)) } } @@ -12928,7 +13180,11 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, // var iCol int32 at bp+40, 4 - for (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 128 /* &.xPhraseFirst */))))(tls, pFts, iPhrase, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 44 /* iOff */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer((pApi + 136 /* &.xPhraseNext */))))(tls, pFts, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */) { + for (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirst})).f(tls, pFts, iPhrase, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 44 /* iOff */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNext})).f(tls, pFts, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */) { *(*u32)(unsafe.Pointer(aOut + uintptr((nMul*(*(*int32)(unsafe.Pointer(bp + 40 /* iCol */))+(iPhrase*(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))))*4))++ } } @@ -12942,7 +13198,9 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, for i = 0; (rc == SQLITE_OK) && (i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol); i++ { // var nToken int32 at bp+48, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, i, bp+48 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+48 /* &nToken */) *(*u32)(unsafe.Pointer(aOut + uintptr(i)*4)) = u32(*(*int32)(unsafe.Pointer(bp + 48 /* nToken */))) } break @@ -12955,7 +13213,9 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, libc.Xmemset(tls, aOut, 0, (uint64(unsafe.Sizeof(u32(0))) * uint64((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+52 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+52 /* &nInst */) for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 52 /* nInst */))); i++ { // var iPhrase int32 at bp+56, 4 @@ -12967,9 +13227,13 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, var nSeq u32 = u32(1) var j int32 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+56 /* &iPhrase */, bp+60 /* &iCol */, bp+64 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+56 /* &iPhrase */, bp+60 /* &iCol */, bp+64 /* &iOff */) iNextPhrase = (*(*int32)(unsafe.Pointer(bp + 56 /* iPhrase */)) + 1) - iNextOff = (*(*int32)(unsafe.Pointer(bp + 64 /* iOff */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, 0)) + iNextOff = (*(*int32)(unsafe.Pointer(bp + 64 /* iOff */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, 0)) for j = (i + 1); (rc == SQLITE_OK) && (j < *(*int32)(unsafe.Pointer(bp + 52 /* nInst */))); j++ { // var ip int32 at bp+68, 4 @@ -12977,14 +13241,18 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, // var io int32 at bp+76, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, j, bp+68 /* &ip */, bp+72 /* &ic */, bp+76 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, j, bp+68 /* &ip */, bp+72 /* &ic */, bp+76 /* &io */) if (*(*int32)(unsafe.Pointer(bp + 72 /* ic */)) != *(*int32)(unsafe.Pointer(bp + 60 /* iCol */))) || (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) > iNextOff) { break } if (*(*int32)(unsafe.Pointer(bp + 68 /* ip */)) == iNextPhrase) && (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) == iNextOff) { nSeq++ iNextPhrase = (*(*int32)(unsafe.Pointer(bp + 68 /* ip */)) + 1) - iNextOff = (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, *(*int32)(unsafe.Pointer(bp + 68 /* ip */)))) + iNextOff = (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 68 /* ip */)))) } } @@ -13012,8 +13280,12 @@ func fts5MatchinfoNew(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, z var nByte sqlite3_int64 var rc int32 - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xColumnCount */))))(tls, pFts) - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) nInt = 0 for i = 0; *(*uint8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { @@ -13067,13 +13339,17 @@ func fts5MatchinfoFunc(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, zArg = ts + 3024 /* "pcx" */ } - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((pApi + 120 /* &.xGetAuxdata */))))(tls, pFts, 0) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0) if (p == uintptr(0)) || (sqlite3.Xsqlite3_stricmp(tls, zArg, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg) != 0) { p = fts5MatchinfoNew(tls, pApi, pFts, pCtx, zArg) if p == uintptr(0) { rc = SQLITE_NOMEM } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 112 /* &.xSetAuxdata */))))(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } } @@ -13117,7 +13393,9 @@ func sqlite3Fts5TestRegisterMatchinfo(tls *libc.TLS, db uintptr) int32 { /* fts5 } // Register the implementation of matchinfo() - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pApi */)) + 24 /* &.xCreateFunction */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pApi */)), ts+3028 /* "matchinfo" */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pApi */)))).FxCreateFunction})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pApi */)), ts+3028 /* "matchinfo" */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5MatchinfoFunc})), uintptr(0)) @@ -13226,22 +13504,22 @@ type Fts5tokTable1 = struct { type Fts5tokTable = Fts5tokTable1 /* fts5_test_tok.c:47:29 */ type Fts5tokCursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid int32 - _ [4]byte - FzInput uintptr - FnRow int32 - _ [4]byte - FaRow uintptr + Fbase sqlite3_vtab_cursor + FiRowid int32 + F__ccgo_pad1 [4]byte + FzInput uintptr + FnRow int32 + F__ccgo_pad2 [4]byte + FaRow uintptr } /* fts5_test_tok.c:48:9 */ type Fts5tokCursor = Fts5tokCursor1 /* fts5_test_tok.c:48:30 */ type Fts5tokRow1 = struct { - FzToken uintptr - FiStart int32 - FiEnd int32 - FiPos int32 - _ [4]byte + FzToken uintptr + FiStart int32 + FiEnd int32 + FiPos int32 + F__ccgo_pad1 [4]byte } /* fts5_test_tok.c:48:9 */ type Fts5tokRow = Fts5tokRow1 /* fts5_test_tok.c:49:27 */ @@ -13363,7 +13641,9 @@ func fts5tokConnectMethod(tls *libc.TLS, db uintptr, pCtx uintptr, argc int32, a zModule = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* azDequote */)))) } - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xFindTokenizer */))))(tls, pApi, zModule, bp+8 /* &pTokCtx */, (pTab + 24 /* &.tok */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zModule, bp+8 /* &pTokCtx */, (pTab + 24 /* &.tok */)) if rc == SQLITE_OK { var azArg uintptr = func() uintptr { if nDequote > 1 { @@ -13377,7 +13657,9 @@ func fts5tokConnectMethod(tls *libc.TLS, db uintptr, pCtx uintptr, argc int32, a } else { nArg = 0 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pTab + 24 /* &.tok */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTokCtx */)), azArg, nArg, (pTab + 48 /* &.pTok */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTokCtx */)), azArg, nArg, (pTab + 48 /* &.pTok */)) } } @@ -13397,7 +13679,7 @@ func fts5tokConnectMethod(tls *libc.TLS, db uintptr, pCtx uintptr, argc int32, a func fts5tokDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* fts5_test_tok.c:235:12: */ var pTab uintptr = pVtab if (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pTab + 24 /* &.tok */ + 8 /* &.xDelete */))))(tls, (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxDelete})).f(tls, (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok) } sqlite3.Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -13528,7 +13810,9 @@ func fts5tokFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr ui libc.Xmemcpy(tls, (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput, zByte, uint64(nByte)) } *(*uint8)(unsafe.Pointer((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput + uintptr(nByte))) = uint8(0) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pTab + 24 /* &.tok */ + 16 /* &.xTokenize */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxTokenize})).f(tls, (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok, pCsr, 0, zByte, nByte, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5tokCb}))) @@ -13734,14 +14018,18 @@ var apnd_io_methods = sqlite3_io_methods{ // Close an apnd-file. func apndClose(tls *libc.TLS, pFile uintptr) int32 { /* appendvfs.c:227:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 8 /* &.xClose */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxClose})).f(tls, pFile) } // Read data from an apnd-file. func apndRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 { /* appendvfs.c:235:12: */ var paf uintptr = pFile pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) } // Add the append-mark onto what should become the end of the file. @@ -13763,7 +14051,9 @@ func apndWriteMark(tls *libc.TLS, paf uintptr, pFile uintptr, iWriteEnd sqlite_i iPgOne >>= 8 } iWriteEnd = iWriteEnd + ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne) - if SQLITE_OK == (libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 24 /* &.xWrite */))))(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ), iWriteEnd))) { + if SQLITE_OK == (libc.AssignInt32(&rc, (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ), iWriteEnd))) { (*ApndFile)(unsafe.Pointer(paf)).FiMark = iWriteEnd } return rc @@ -13784,7 +14074,9 @@ func apndWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql return rc } } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 24 /* &.xWrite */))))(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) } // Truncate an apnd-file. @@ -13796,13 +14088,17 @@ func apndTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* ap return SQLITE_IOERR } // Truncate underlying file just past append mark - return (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 32 /* &.xTruncate */))))(tls, pFile, ((*ApndFile)(unsafe.Pointer(paf)).FiMark + (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxTruncate})).f(tls, pFile, ((*ApndFile)(unsafe.Pointer(paf)).FiMark + (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) } // Sync an apnd-file. func apndSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* appendvfs.c:310:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 40 /* &.xSync */))))(tls, pFile, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSync})).f(tls, pFile, flags) } // Return the current file-size of an apnd-file. @@ -13821,19 +14117,25 @@ func apndFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* append // Lock an apnd-file. func apndLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* appendvfs.c:328:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 56 /* &.xLock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxLock})).f(tls, pFile, eLock) } // Unlock an apnd-file. func apndUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* appendvfs.c:336:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 64 /* &.xUnlock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnlock})).f(tls, pFile, eLock) } // Check if another file-handle holds a RESERVED lock on an apnd-file. func apndCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* appendvfs.c:344:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pFile, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxCheckReservedLock})).f(tls, pFile, pResOut) } // File control method. For custom operations on an apnd-file. @@ -13847,7 +14149,9 @@ func apndFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 if op == SQLITE_FCNTL_SIZE_HINT { *(*sqlite3_int64)(unsafe.Pointer(pArg)) += ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne) } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 80 /* &.xFileControl */))))(tls, pFile, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileControl})).f(tls, pFile, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+3135 /* "apnd(%lld)/%z" */, libc.VaList(bp, (*ApndFile)(unsafe.Pointer(paf)).FiPgOne, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -13857,37 +14161,47 @@ func apndFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 // Return the sector-size in bytes for an apnd-file. func apndSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* appendvfs.c:367:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 88 /* &.xSectorSize */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSectorSize})).f(tls, pFile) } // Return the device characteristic flags supported by an apnd-file. func apndDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* appendvfs.c:375:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxDeviceCharacteristics})).f(tls, pFile) } // Create a shared memory file mapping func apndShmMap(tls *libc.TLS, pFile uintptr, iPg int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* appendvfs.c:381:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 104 /* &.xShmMap */))))(tls, pFile, iPg, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmMap})).f(tls, pFile, iPg, pgsz, bExtend, pp) } // Perform locking on a shared-memory segment func apndShmLock(tls *libc.TLS, pFile uintptr, offset int32, n int32, flags int32) int32 { /* appendvfs.c:393:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 112 /* &.xShmLock */))))(tls, pFile, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmLock})).f(tls, pFile, offset, n, flags) } // Memory barrier operation on shared memory func apndShmBarrier(tls *libc.TLS, pFile uintptr) { /* appendvfs.c:399:13: */ pFile = ((pFile) + uintptr(1)*24) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pFile) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmBarrier})).f(tls, pFile) } // Unmap a shared memory segment func apndShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* appendvfs.c:405:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pFile, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmUnmap})).f(tls, pFile, deleteFlag) } // Fetch a page of a memory-mapped file @@ -13897,14 +14211,18 @@ func apndFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp return SQLITE_IOERR // Cannot read what is not yet there. } pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 136 /* &.xFetch */))))(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch})).f(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), iAmt, pp) } // Release a memory-mapped page func apndUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, pPage uintptr) int32 { /* appendvfs.c:426:12: */ var p uintptr = pFile pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 144 /* &.xUnfetch */))))(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), pPage) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch})).f(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), pPage) } // Try to read the append-mark off the end of a file. Return the @@ -13927,7 +14245,9 @@ func apndReadMark(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) sqlite3_int64 if (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)) != (sz & int64(0x1ff)) { return int64(-1) } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ), (sz - (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ), (sz - (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) if rc != 0 { return int64(-1) } @@ -13964,7 +14284,9 @@ func apndIsAppendvfsDatabase(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) int // If file has the correct end-marker, the expected odd size, and the // SQLite DB type marker where the end-marker puts it, then it // is an appendvfs database. - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]uint8{})), iMark) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]uint8{})), iMark) if (((SQLITE_OK == rc) && (libc.Xmemcmp(tls, bp /* &zHdr[0] */, uintptr(unsafe.Pointer(&apvfsSqliteHdr)), uint64(unsafe.Sizeof([16]uint8{}))) == 0)) && ((sz & int64(0x1ff)) == (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) && @@ -13985,7 +14307,9 @@ func apndIsOrdinaryDatabaseFile(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) if (((apndIsAppendvfsDatabase(tls, sz, pFile) != 0) || // rule 2 ((sz & int64(0x1ff)) != int64(0))) || - (SQLITE_OK != (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]uint8{})), int64(0)))) || + (SQLITE_OK != (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]uint8{})), int64(0)))) || (libc.Xmemcmp(tls, bp /* &zHdr[0] */, uintptr(unsafe.Pointer(&apvfsSqliteHdr)), uint64(unsafe.Sizeof([16]uint8{}))) != 0) { return 0 } else { @@ -14008,17 +14332,25 @@ func apndOpen(tls *libc.TLS, pApndVfs uintptr, zName uintptr, pFile uintptr, fla // The appendvfs is not to be used for transient or temporary databases. // Just use the base VFS open to initialize the given file object and // open the underlying file. (Appendvfs is then unused for this file.) - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pBaseVfs + 40 /* &.xOpen */))))(tls, pBaseVfs, zName, pFile, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pBaseVfs)).FxOpen})).f(tls, pBaseVfs, zName, pFile, flags, pOutFlags) } libc.Xmemset(tls, pApndFile, 0, uint64(unsafe.Sizeof(ApndFile{}))) (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&apnd_io_methods)) (*ApndFile)(unsafe.Pointer(pApndFile)).FiMark = int64(-1) // Append mark not yet written - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pBaseVfs + 40 /* &.xOpen */))))(tls, pBaseVfs, zName, pBaseFile, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pBaseVfs)).FxOpen})).f(tls, pBaseVfs, zName, pBaseFile, flags, pOutFlags) if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods + 48 /* &.xFileSize */))))(tls, pBaseFile, bp /* &sz */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxFileSize})).f(tls, pBaseFile, bp /* &sz */) if rc != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods + 8 /* &.xClose */))))(tls, pBaseFile) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxClose})).f(tls, pBaseFile) } } if rc != 0 { @@ -14037,7 +14369,9 @@ func apndOpen(tls *libc.TLS, pApndVfs uintptr, zName uintptr, pFile uintptr, fla return SQLITE_OK } if (flags & SQLITE_OPEN_CREATE) == 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods + 8 /* &.xClose */))))(tls, pBaseFile) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxClose})).f(tls, pBaseFile) rc = SQLITE_CANTOPEN (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(0) } else { @@ -14055,64 +14389,94 @@ func apndOpen(tls *libc.TLS, pApndVfs uintptr, zName uintptr, pFile uintptr, fla // leaving the appendee as it was before it gained an appendvfs. // For now, this code deletes the underlying file too. func apndDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* appendvfs.c:574:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 48 /* &.xDelete */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDelete})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) } // All other VFS methods are pass-thrus. func apndAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* appendvfs.c:581:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 56 /* &.xAccess */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxAccess})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) } func apndFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* appendvfs.c:589:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 64 /* &.xFullPathname */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxFullPathname})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) } func apndDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* appendvfs.c:597:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } func apndDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* appendvfs.c:600:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } func apndDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* appendvfs.c:603:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } func apndDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* appendvfs.c:606:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } func apndRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* appendvfs.c:609:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } func apndSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* appendvfs.c:612:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func apndCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* appendvfs.c:615:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 120 /* &.xCurrentTime */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTime})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) } func apndGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* appendvfs.c:618:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func apndCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* appendvfs.c:621:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 136 /* &.xCurrentTimeInt64 */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTimeInt64})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } func apndSetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr, pCall sqlite3_syscall_ptr) int32 { /* appendvfs.c:624:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 144 /* &.xSetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) } func apndGetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) sqlite3_syscall_ptr { /* appendvfs.c:631:28: */ - return (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 152 /* &.xGetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } func apndNextSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) uintptr { /* appendvfs.c:637:19: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 160 /* &.xNextSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxNextSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } // This routine is called when the extension is loaded. @@ -14138,11 +14502,6 @@ func sqlite3_appendvfs_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi ui return rc } -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // XPG requires a few symbols from being defined. @@ -14168,6 +14527,12 @@ func sqlite3_appendvfs_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi ui // Bits in the fourth argument to `waitid'. +// The following values are used by the `waitid' function. + +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. + +type idtype_t = uint32 /* waitflags.h:57:3 */ // Definitions of status bits for `wait' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. @@ -14534,7 +14899,7 @@ type time_t = int64 /* time_t.h:7:18 */ // Timer ID returned by `timer_create'. type timer_t = uintptr /* timer_t.h:7:19 */ -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -14566,15 +14931,6 @@ type timer_t = uintptr /* timer_t.h:7:19 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -14609,11 +14965,6 @@ type timer_t = uintptr /* timer_t.h:7:19 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Old compatibility names for C types. @@ -14953,7 +15304,7 @@ type __pthread_rwlock_arch_t = struct { F__pad1 uint64 F__pad2 uint64 F__flags uint32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* struct_rwlock.h:23:1 */ // Common definition of pthread_cond_t. @@ -14975,15 +15326,15 @@ type pthread_t = uint64 /* pthreadtypes.h:27:27 */ // Data structures for mutex handling. The structure of the attribute // type is not exposed on purpose. type pthread_mutexattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:36:3 */ // Data structure for condition variable handling. The structure of // the attribute type is not exposed on purpose. type pthread_condattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:45:3 */ // Keys for thread-specific data @@ -14993,8 +15344,8 @@ type pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ type pthread_once_t = int32 /* pthreadtypes.h:53:30 */ type pthread_attr_t1 = struct { - _ [0]uint64 - F__size [56]uint8 + F__ccgo_pad1 [0]uint64 + F__size [56]uint8 } /* pthreadtypes.h:56:1 */ type pthread_attr_t = pthread_attr_t1 /* pthreadtypes.h:62:30 */ @@ -15008,8 +15359,8 @@ type pthread_cond_t = struct{ F__data __pthread_cond_s } /* pthreadtypes.h:80:3 type pthread_rwlock_t = struct{ F__data __pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ type pthread_rwlockattr_t = struct { - _ [0]uint64 - F__size [8]uint8 + F__ccgo_pad1 [0]uint64 + F__size [8]uint8 } /* pthreadtypes.h:97:3 */ // POSIX spinlock data type. @@ -15018,13 +15369,13 @@ type pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ // POSIX barriers data type. The structure of the type is // deliberately not exposed. type pthread_barrier_t = struct { - _ [0]uint64 - F__size [32]uint8 + F__ccgo_pad1 [0]uint64 + F__size [32]uint8 } /* pthreadtypes.h:112:3 */ type pthread_barrierattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:118:3 */ // Reentrant versions of the `random' family of functions. @@ -15032,14 +15383,14 @@ type pthread_barrierattr_t = struct { // state, rather than global state variables. type random_data = struct { - Ffptr uintptr - Frptr uintptr - Fstate uintptr - Frand_type int32 - Frand_deg int32 - Frand_sep int32 - _ [4]byte - Fend_ptr uintptr + Ffptr uintptr + Frptr uintptr + Fstate uintptr + Frand_type int32 + Frand_deg int32 + Frand_sep int32 + F__ccgo_pad1 [4]byte + Fend_ptr uintptr } /* stdlib.h:423:1 */ // Data structure for communication with thread safe versions. This @@ -15055,55 +15406,55 @@ type drand48_data = struct { // Forward declaration of objects used by this implementation type amatch_vtab1 = struct { - Fbase sqlite3_vtab - FzClassName uintptr - FzDb uintptr - FzSelf uintptr - FzCostTab uintptr - FzVocabTab uintptr - FzVocabWord uintptr - FzVocabLang uintptr - FpRule uintptr - FrIns amatch_cost - FrDel amatch_cost - FrSub amatch_cost - _ [4]byte - Fdb uintptr - FpVCheck uintptr - FnCursor int32 - _ [4]byte + Fbase sqlite3_vtab + FzClassName uintptr + FzDb uintptr + FzSelf uintptr + FzCostTab uintptr + FzVocabTab uintptr + FzVocabWord uintptr + FzVocabLang uintptr + FpRule uintptr + FrIns amatch_cost + FrDel amatch_cost + FrSub amatch_cost + F__ccgo_pad1 [4]byte + Fdb uintptr + FpVCheck uintptr + FnCursor int32 + F__ccgo_pad2 [4]byte } /* amatch.c:172:9 */ // Forward declaration of objects used by this implementation type amatch_vtab = amatch_vtab1 /* amatch.c:172:28 */ type amatch_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FiLang amatch_langid - FrLimit amatch_cost - FnBuf int32 - FoomErr int32 - FnWord int32 - _ [4]byte - FzBuf uintptr - FzInput uintptr - FpVtab uintptr - FpAllWords uintptr - FpCurrent uintptr - FpCost uintptr - FpWord uintptr + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FiLang amatch_langid + FrLimit amatch_cost + FnBuf int32 + FoomErr int32 + FnWord int32 + F__ccgo_pad1 [4]byte + FzBuf uintptr + FzInput uintptr + FpVtab uintptr + FpAllWords uintptr + FpCurrent uintptr + FpCost uintptr + FpWord uintptr } /* amatch.c:173:9 */ type amatch_cursor = amatch_cursor1 /* amatch.c:173:30 */ type amatch_rule1 = struct { - FpNext uintptr - FzFrom uintptr - FrCost amatch_cost - FiLang amatch_langid - FnFrom amatch_len - FnTo amatch_len - FzTo [4]uint8 - _ [2]byte + FpNext uintptr + FzFrom uintptr + FrCost amatch_cost + FiLang amatch_langid + FnFrom amatch_len + FnTo amatch_len + FzTo [4]uint8 + F__ccgo_pad1 [2]byte } /* amatch.c:172:9 */ type amatch_rule = amatch_rule1 /* amatch.c:174:28 */ @@ -15120,14 +15471,14 @@ type amatch_word1 = struct { type amatch_word = amatch_word1 /* amatch.c:175:28 */ type amatch_avl1 = struct { - FpWord uintptr - FzKey uintptr - FpBefore uintptr - FpAfter uintptr - FpUp uintptr - Fheight int16 - Fimbalance int16 - _ [4]byte + FpWord uintptr + FzKey uintptr + FpBefore uintptr + FpAfter uintptr + FpUp uintptr + Fheight int16 + Fimbalance int16 + F__ccgo_pad1 [4]byte } /* amatch.c:173:9 */ type amatch_avl = amatch_avl1 /* amatch.c:176:27 */ @@ -16396,12 +16747,12 @@ type carray_bind = carray_bind1 /* carray.c:78:28 */ // serve as the underlying representation of a cursor that scans // over rows of the result type carray_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FpPtr uintptr - FiCnt sqlite3_int64 - FeType uint8 - _ [7]byte + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FpPtr uintptr + FiCnt sqlite3_int64 + FeType uint8 + F__ccgo_pad1 [7]byte } /* carray.c:91:9 */ // carray_cursor is a subclass of sqlite3_vtab_cursor which will @@ -16701,7 +17052,7 @@ var carrayModule = sqlite3_module{ // xCreate func carrayBindDel(tls *libc.TLS, pPtr uintptr) { /* carray.c:391:13: */ var p uintptr = pPtr if (*carray_bind)(unsafe.Pointer(p)).FxDel != (uintptr(0)) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 16 /* &.xDel */))))(tls, (*carray_bind)(unsafe.Pointer(p)).FaData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*carray_bind)(unsafe.Pointer(p)).FxDel})).f(tls, (*carray_bind)(unsafe.Pointer(p)).FaData) } sqlite3.Xsqlite3_free(tls, p) } @@ -16714,7 +17065,7 @@ func sqlite3_carray_bind(tls *libc.TLS, pStmt uintptr, idx int32, aData uintptr, pNew = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(carray_bind{}))) if pNew == uintptr(0) { if (xDestroy != (uintptr(0))) && (xDestroy != (libc.UintptrFromInt32(-1))) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, aData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, aData) } return SQLITE_NOMEM } @@ -16873,7 +17224,7 @@ type CksmFile1 = struct { FverifyCksm uint8 FisWal uint8 FinCkpt uint8 - _ [4]byte + F__ccgo_pad1 [4]byte FpPartner uintptr } /* cksumvfs.c:177:9 */ @@ -16996,7 +17347,9 @@ func cksmClose(tls *libc.TLS, pFile uintptr) int32 { /* cksumvfs.c:397:12: */ (*CksmFile)(unsafe.Pointer(p)).FpPartner = uintptr(0) } pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 8 /* &.xClose */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxClose})).f(tls, pFile) } // Set the computeCkSm and verifyCksm flags, if they need to be @@ -17019,7 +17372,9 @@ func cksmRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var rc int32 var p uintptr = pFile pFile = ((pFile) + uintptr(1)*32) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, zBuf, iAmt, iOfst) if rc == SQLITE_OK { if ((iOfst == int64(0)) && (iAmt >= 100)) && ((libc.Xmemcmp(tls, zBuf, ts+3149 /* "SQLite format 3" */, uint64(16)) == 0) || (libc.Xmemcmp(tls, zBuf, ts+3966 /* "ZV-" */, uint64(3)) == 0)) { var d uintptr = zBuf @@ -17067,44 +17422,58 @@ func cksmWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql !(int32((*CksmFile)(unsafe.Pointer(p)).FinCkpt) != 0) { cksmCompute(tls, zBuf, (iAmt - 8), (((zBuf) + uintptr(iAmt)) - uintptr(8))) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 24 /* &.xWrite */))))(tls, pFile, zBuf, iAmt, iOfst) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, zBuf, iAmt, iOfst) } // Truncate a cksm-file. func cksmTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* cksumvfs.c:502:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 32 /* &.xTruncate */))))(tls, pFile, size) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxTruncate})).f(tls, pFile, size) } // Sync a cksm-file. func cksmSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* cksumvfs.c:510:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 40 /* &.xSync */))))(tls, pFile, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSync})).f(tls, pFile, flags) } // Return the current file-size of a cksm-file. func cksmFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* cksumvfs.c:518:12: */ var p uintptr = pFile pFile = ((p) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 48 /* &.xFileSize */))))(tls, pFile, pSize) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileSize})).f(tls, pFile, pSize) } // Lock a cksm-file. func cksmLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* cksumvfs.c:527:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 56 /* &.xLock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxLock})).f(tls, pFile, eLock) } // Unlock a cksm-file. func cksmUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* cksumvfs.c:535:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 64 /* &.xUnlock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnlock})).f(tls, pFile, eLock) } // Check if another file-handle holds a RESERVED lock on a cksm-file. func cksmCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* cksumvfs.c:543:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pFile, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxCheckReservedLock})).f(tls, pFile, pResOut) } // File control method. For custom operations on a cksm-file. @@ -17158,7 +17527,9 @@ func cksmFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 *(*uintptr)(unsafe.Pointer(ppFile)) = p return SQLITE_OK } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 80 /* &.xFileControl */))))(tls, pFile, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileControl})).f(tls, pFile, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+4052 /* "cksm/%z" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -17168,37 +17539,47 @@ func cksmFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 // Return the sector-size in bytes for a cksm-file. func cksmSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* cksumvfs.c:605:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 88 /* &.xSectorSize */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSectorSize})).f(tls, pFile) } // Return the device characteristic flags supported by a cksm-file. func cksmDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* cksumvfs.c:613:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxDeviceCharacteristics})).f(tls, pFile) } // Create a shared memory file mapping func cksmShmMap(tls *libc.TLS, pFile uintptr, iPg int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* cksumvfs.c:619:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 104 /* &.xShmMap */))))(tls, pFile, iPg, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmMap})).f(tls, pFile, iPg, pgsz, bExtend, pp) } // Perform locking on a shared-memory segment func cksmShmLock(tls *libc.TLS, pFile uintptr, offset int32, n int32, flags int32) int32 { /* cksumvfs.c:631:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 112 /* &.xShmLock */))))(tls, pFile, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmLock})).f(tls, pFile, offset, n, flags) } // Memory barrier operation on shared memory func cksmShmBarrier(tls *libc.TLS, pFile uintptr) { /* cksumvfs.c:637:13: */ pFile = ((pFile) + uintptr(1)*32) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pFile) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmBarrier})).f(tls, pFile) } // Unmap a shared memory segment func cksmShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* cksumvfs.c:643:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pFile, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmUnmap})).f(tls, pFile, deleteFlag) } // Fetch a page of a memory-mapped file @@ -17210,7 +17591,9 @@ func cksmFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp } pFile = ((pFile) + uintptr(1)*32) if ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FiVersion > 2) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch != 0) { - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 136 /* &.xFetch */))))(tls, pFile, iOfst, iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch})).f(tls, pFile, iOfst, iAmt, pp) } *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) return SQLITE_OK @@ -17220,7 +17603,9 @@ func cksmFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp func cksmUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, pPage uintptr) int32 { /* cksumvfs.c:669:12: */ pFile = ((pFile) + uintptr(1)*32) if ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FiVersion > 2) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch != 0) { - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 144 /* &.xUnfetch */))))(tls, pFile, iOfst, pPage) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch})).f(tls, pFile, iOfst, pPage) } return SQLITE_OK } @@ -17240,14 +17625,18 @@ func cksmOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i if !((flags & (SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_WAL)) == 0) { goto __1 } - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSubVfs + 40 /* &.xOpen */))))(tls, pSubVfs, zName, pFile, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pSubVfs)).FxOpen})).f(tls, pSubVfs, zName, pFile, flags, pOutFlags) __1: ; p = pFile libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(CksmFile{}))) pSubFile = ((pFile) + uintptr(1)*32) (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&cksm_io_methods)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSubVfs + 40 /* &.xOpen */))))(tls, pSubVfs, zName, pSubFile, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pSubVfs)).FxOpen})).f(tls, pSubVfs, zName, pSubFile, flags, pOutFlags) if !(rc != 0) { goto __2 } @@ -17258,7 +17647,9 @@ __2: goto __3 } *(*uintptr)(unsafe.Pointer(bp /* pDb */)) = sqlite3.Xsqlite3_database_file_object(tls, zName) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pDb */)))).FpMethods + 80 /* &.xFileControl */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pDb */)), SQLITE_FCNTL_CKSM_FILE, bp /* &pDb */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pDb */)))).FpMethods)).FxFileControl})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pDb */)), SQLITE_FCNTL_CKSM_FILE, bp /* &pDb */) (*CksmFile)(unsafe.Pointer(p)).FpPartner = *(*uintptr)(unsafe.Pointer(bp /* pDb */)) @@ -17284,47 +17675,69 @@ __5: // All other VFS methods are pass-thrus. func cksmDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* cksumvfs.c:723:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 48 /* &.xDelete */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDelete})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) } func cksmAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* cksumvfs.c:726:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 56 /* &.xAccess */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxAccess})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) } func cksmFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* cksumvfs.c:734:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 64 /* &.xFullPathname */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxFullPathname})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) } func cksmDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* cksumvfs.c:742:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } func cksmDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* cksumvfs.c:745:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } func cksmDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* cksumvfs.c:748:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } func cksmDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* cksumvfs.c:751:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } func cksmRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* cksumvfs.c:754:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } func cksmSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* cksumvfs.c:757:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func cksmCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* cksumvfs.c:760:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 120 /* &.xCurrentTime */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTime})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) } func cksmGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* cksumvfs.c:763:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func cksmCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* cksumvfs.c:766:12: */ @@ -17335,26 +17748,36 @@ func cksmCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* cks var rc int32 if (*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTimeInt64 != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pOrig + 136 /* &.xCurrentTimeInt64 */))))(tls, pOrig, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTimeInt64})).f(tls, pOrig, p) } else { // var r float64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pOrig + 120 /* &.xCurrentTime */))))(tls, pOrig, bp /* &r */) - *(*sqlite3_int64)(unsafe.Pointer(p)) = (sqlite3_int64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTime})).f(tls, pOrig, bp /* &r */) + *(*sqlite3_int64)(unsafe.Pointer(p)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) } return rc } func cksmSetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr, pCall sqlite3_syscall_ptr) int32 { /* cksumvfs.c:779:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 144 /* &.xSetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) } func cksmGetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) sqlite3_syscall_ptr { /* cksumvfs.c:786:28: */ - return (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 152 /* &.xGetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } func cksmNextSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) uintptr { /* cksumvfs.c:792:19: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 160 /* &.xNextSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxNextSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } // Register the verify_checksum() SQL function. @@ -17423,7 +17846,7 @@ type closure_vtab1 = struct { FzParentColumn uintptr Fdb uintptr FnCursor int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* closure.c:156:9 */ // Forward declaration of objects used by this implementation @@ -17448,14 +17871,14 @@ type closure_queue = closure_queue1 /* closure.c:158:30 */ type closure_avl1 = struct { Fid sqlite3_int64 FiGeneration int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpList uintptr FpBefore uintptr FpAfter uintptr FpUp uintptr Fheight int16 Fimbalance int16 - _ [4]byte + F__ccgo_pad2 [4]byte } /* closure.c:157:9 */ type closure_avl = closure_avl1 /* closure.c:159:28 */ @@ -17647,7 +18070,7 @@ func closureAvlDestroy(tls *libc.TLS, p uintptr, xDestroy uintptr) { /* closure. if p != 0 { closureAvlDestroy(tls, (*closure_avl)(unsafe.Pointer(p)).FpBefore, xDestroy) closureAvlDestroy(tls, (*closure_avl)(unsafe.Pointer(p)).FpAfter, xDestroy) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) } } @@ -18296,18 +18719,18 @@ func sqlite3_closure_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint // A context object used when read a CSV file. type CsvReader1 = struct { - Fin uintptr - Fz uintptr - Fn int32 - FnAlloc int32 - FnLine int32 - FbNotFirst int32 - FcTerm int32 - _ [4]byte - FiIn size_t - FnIn size_t - FzIn uintptr - FzErr [200]uint8 + Fin uintptr + Fz uintptr + Fn int32 + FnAlloc int32 + FnLine int32 + FbNotFirst int32 + FcTerm int32 + F__ccgo_pad1 [4]byte + FiIn size_t + FnIn size_t + FzIn uintptr + FzErr [200]uint8 } /* csv.c:73:9 */ // If we are compiling with optimizing read this file. It contains @@ -19339,14 +19762,14 @@ func sqlite3_csv_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) // A decimal object type Decimal1 = struct { - Fsign uint8 - Foom uint8 - FisNull uint8 - FisInit uint8 - FnDigit int32 - FnFrac int32 - _ [4]byte - Fa uintptr + Fsign uint8 + Foom uint8 + FisNull uint8 + FisInit uint8 + FnDigit int32 + FnFrac int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* decimal.c:32:9 */ // Floating-point inline functions for stdlib.h. @@ -20123,10 +20546,10 @@ func sqlite3_decimal_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint _ = pApi for i = uint32(0); (uint64(i) < (uint64(unsafe.Sizeof(aFunc)) / uint64(unsafe.Sizeof(struct { - FzFuncName uintptr - FnArg int32 - _ [4]byte - FxFunc uintptr + FzFuncName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxFunc uintptr }{})))) && (rc == SQLITE_OK); i++ { rc = sqlite3.Xsqlite3_create_function(tls, db, aFunc[i].FzFuncName, aFunc[i].FnArg, ((SQLITE_UTF8 | SQLITE_INNOCUOUS) | SQLITE_DETERMINISTIC), @@ -20152,10 +20575,10 @@ func sqlite3_decimal_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint } var aFunc = [5]struct { - FzFuncName uintptr - FnArg int32 - _ [4]byte - FxFunc uintptr + FzFuncName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxFunc uintptr }{ {FzFuncName: ts + 4699 /* "decimal" */, FnArg: 1, FxFunc: 0}, {FzFuncName: ts + 4707 /* "decimal_cmp" */, FnArg: 2, FxFunc: 0}, @@ -20166,12 +20589,12 @@ var aFunc = [5]struct { // Structure used to accumulate the output type EvalResult = struct { - Fz uintptr - FzSep uintptr - FszSep int32 - _ [4]byte - FnAlloc sqlite3_int64 - FnUsed sqlite3_int64 + Fz uintptr + FzSep uintptr + FszSep int32 + F__ccgo_pad1 [4]byte + FnAlloc sqlite3_int64 + FnUsed sqlite3_int64 } /* eval.c:23:1 */ // Callback from sqlite_exec() for the eval() function. @@ -20294,12 +20717,12 @@ type explain_vtab = explain_vtab1 /* explain.c:38:29 */ // serve as the underlying representation of a cursor that scans // over rows of the result from an EXPLAIN operation. type explain_cursor1 = struct { - Fbase sqlite3_vtab_cursor - Fdb uintptr - FzSql uintptr - FpExplain uintptr - Frc int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + Fdb uintptr + FzSql uintptr + FpExplain uintptr + Frc int32 + F__ccgo_pad1 [4]byte } /* explain.c:48:9 */ // explain_cursor is a subclass of sqlite3_vtab_cursor which will @@ -20599,13 +21022,13 @@ func sqlite3_explain_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint // Not necessary, we always have 64-bit offsets. type flock = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start int64 - Fl_len int64 - Fl_pid int32 - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start int64 + Fl_len int64 + Fl_pid int32 + F__ccgo_pad2 [4]byte } /* fcntl.h:37:1 */ // Define some inlines helping to catch common problems. @@ -20972,7 +21395,7 @@ type flock = struct { // Never include this file directly; use instead. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -21004,15 +21427,6 @@ type flock = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -21047,11 +21461,6 @@ type flock = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // The Single Unix specification says that some more types are @@ -21173,12 +21582,12 @@ type socklen_t = uint32 /* unistd.h:274:21 */ // . type dirent = struct { - Fd_ino uint64 - Fd_off int64 - Fd_reclen uint16 - Fd_type uint8 - Fd_name [256]uint8 - _ [5]byte + Fd_ino uint64 + Fd_off int64 + Fd_reclen uint16 + Fd_type uint8 + Fd_name [256]uint8 + F__ccgo_pad1 [5]byte } /* dirent.h:22:1 */ // Copyright (C) 1991-2020 Free Software Foundation, Inc. @@ -21314,7 +21723,7 @@ type itimerval = struct { // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -21346,15 +21755,6 @@ type itimerval = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -21389,11 +21789,6 @@ type itimerval = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // This defines CLOCKS_PER_SEC, which is the number of processor clock @@ -21484,18 +21879,18 @@ type itimerval = struct { // ISO C `broken-down time' structure. type tm = struct { - Ftm_sec int32 - Ftm_min int32 - Ftm_hour int32 - Ftm_mday int32 - Ftm_mon int32 - Ftm_year int32 - Ftm_wday int32 - Ftm_yday int32 - Ftm_isdst int32 - _ [4]byte - Ftm_gmtoff int64 - Ftm_zone uintptr + Ftm_sec int32 + Ftm_min int32 + Ftm_hour int32 + Ftm_mday int32 + Ftm_mon int32 + Ftm_year int32 + Ftm_wday int32 + Ftm_yday int32 + Ftm_isdst int32 + F__ccgo_pad1 [4]byte + Ftm_gmtoff int64 + Ftm_zone uintptr } /* struct_tm.h:7:1 */ // NB: Include guard matches what uses. @@ -21536,15 +21931,15 @@ type itimerspec = struct { type sigevent = struct { Fsigev_value struct { - _ [0]uint64 - Fsival_int int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fsival_int int32 + F__ccgo_pad2 [4]byte } Fsigev_signo int32 Fsigev_notify int32 F_sigev_un struct { - _ [0]uint64 - F_pad [12]int32 + F__ccgo_pad1 [0]uint64 + F_pad [12]int32 } } /* sigevent_t.h:22:9 */ @@ -21861,14 +22256,14 @@ func lsModeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* f // Cursor type for recursively iterating through a directory structure. type fsdir_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FnLvl int32 - FiLvl int32 - FaLvl uintptr - FzBase uintptr - FnBase int32 - _ [4]byte - FsStat struct { + Fbase sqlite3_vtab_cursor + FnLvl int32 + FiLvl int32 + FaLvl uintptr + FzBase uintptr + FnBase int32 + F__ccgo_pad1 [4]byte + FsStat struct { Fst_dev uint64 Fst_ino uint64 Fst_nlink uint64 @@ -22345,11 +22740,11 @@ func sqlite3_fileio_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintp // Forward declaration of objects used by this implementation type fuzzer_vtab1 = struct { - Fbase sqlite3_vtab - FzClassName uintptr - FpRule uintptr - FnCursor int32 - _ [4]byte + Fbase sqlite3_vtab + FzClassName uintptr + FpRule uintptr + FnCursor int32 + F__ccgo_pad1 [4]byte } /* fuzzer.c:162:9 */ // If we are compiling with optimizing read this file. It contains @@ -22358,48 +22753,48 @@ type fuzzer_vtab1 = struct { // Forward declaration of objects used by this implementation type fuzzer_vtab = fuzzer_vtab1 /* fuzzer.c:162:28 */ type fuzzer_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FpVtab uintptr - FrLimit fuzzer_cost - _ [4]byte - FpStem uintptr - FpDone uintptr - FaQueue [20]uintptr - FmxQueue int32 - _ [4]byte - FzBuf uintptr - FnBuf int32 - FnStem int32 - FiRuleset int32 - _ [4]byte - FnullRule fuzzer_rule - FapHash [4001]uintptr + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FpVtab uintptr + FrLimit fuzzer_cost + F__ccgo_pad1 [4]byte + FpStem uintptr + FpDone uintptr + FaQueue [20]uintptr + FmxQueue int32 + F__ccgo_pad2 [4]byte + FzBuf uintptr + FnBuf int32 + FnStem int32 + FiRuleset int32 + F__ccgo_pad3 [4]byte + FnullRule fuzzer_rule + FapHash [4001]uintptr } /* fuzzer.c:163:9 */ type fuzzer_cursor = fuzzer_cursor1 /* fuzzer.c:163:30 */ type fuzzer_rule1 = struct { - FpNext uintptr - FzFrom uintptr - FrCost fuzzer_cost - FnFrom fuzzer_len - FnTo fuzzer_len - _ [2]byte - FiRuleset fuzzer_ruleid - FzTo [4]uint8 + FpNext uintptr + FzFrom uintptr + FrCost fuzzer_cost + FnFrom fuzzer_len + FnTo fuzzer_len + F__ccgo_pad1 [2]byte + FiRuleset fuzzer_ruleid + FzTo [4]uint8 } /* fuzzer.c:162:9 */ type fuzzer_rule = fuzzer_rule1 /* fuzzer.c:164:28 */ type fuzzer_stem1 = struct { - FzBasis uintptr - FpRule uintptr - FpNext uintptr - FpHash uintptr - FrBaseCost fuzzer_cost - FrCostX fuzzer_cost - FnBasis fuzzer_len - Fn fuzzer_len - _ [6]byte + FzBasis uintptr + FpRule uintptr + FpNext uintptr + FpHash uintptr + FrBaseCost fuzzer_cost + FrCostX fuzzer_cost + FnBasis fuzzer_len + Fn fuzzer_len + F__ccgo_pad1 [6]byte } /* fuzzer.c:163:9 */ type fuzzer_stem = fuzzer_stem1 /* fuzzer.c:166:28 */ @@ -23581,7 +23976,9 @@ func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwa for 1 != 0 { // var pMap uintptr at bp+80, 8 - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer((p + 136 /* &.xFetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), pgsz, bp+80 /* &pMap */) + rc = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer(p)).FxFetch})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), pgsz, bp+80 /* &pMap */) if (rc != SQLITE_OK) || (*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)) == uintptr(0)) { break } @@ -23589,7 +23986,9 @@ func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwa nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)))))) nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)) + uintptr((pgsz - 1)))))) - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer((p + 144 /* &.xUnfetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), *(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */))) + rc = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer(p)).FxUnfetch})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), *(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */))) if rc != SQLITE_OK { break } @@ -23623,7 +24022,7 @@ type nextCharContext1 = struct { FnPrefix int32 FnAlloc int32 FnUsed int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaResult uintptr FmallocFailed int32 FotherError int32 @@ -24812,11 +25211,11 @@ type prefixes_vtab = prefixes_vtab1 /* prefixes.c:33:30 */ // serve as the underlying representation of a cursor that scans // over rows of the result type prefixes_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FzStr uintptr - FnStr int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FzStr uintptr + FnStr int32 + F__ccgo_pad1 [4]byte } /* prefixes.c:43:9 */ // prefixes_cursor is a subclass of sqlite3_vtab_cursor which will @@ -25095,9 +25494,9 @@ type ReStateNumber = uint16 /* regexp.c:98:24 */ // the NFA. The implementation is optimized for the common case where the // number of actives states is small. type ReStateSet1 = struct { - FnState uint32 - _ [4]byte - FaState uintptr + FnState uint32 + F__ccgo_pad1 [4]byte + FaState uintptr } /* regexp.c:105:9 */ // Because this is an NFA and not a DFA, multiple states can be active at @@ -25296,7 +25695,9 @@ __8: goto __9 } cPrev = c - c = int32((*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((pRe + 40 /* &.xNextChar */))))(tls, bp+232 /* &in */)) + c = int32((*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(pRe)).FxNextChar})).f(tls, bp+232 /* &in */)) pThis = pNext pNext = (bp /* &aStateSet */ + uintptr(iSwap)*16) iSwap = (uint32(1) - iSwap) @@ -25696,7 +26097,9 @@ func re_subcompile_string(tls *libc.TLS, p uintptr) uintptr { /* regexp.c:477:19 var iStart int32 var c uint32 var zErr uintptr - for (libc.AssignUint32(&c, (*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((p + 40 /* &.xNextChar */))))(tls, (p /* &.sIn */)))) != uint32(0) { + for (libc.AssignUint32(&c, (*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, (p /* &.sIn */)))) != uint32(0) { iStart = int32((*ReCompiled)(unsafe.Pointer(p)).FnState) switch c { case uint32('|'): @@ -25821,7 +26224,9 @@ func re_subcompile_string(tls *libc.TLS, p uintptr) uintptr { /* regexp.c:477:19 } else { re_append(tls, p, RE_OP_CC_INC, 0) } - for (libc.AssignUint32(&c, (*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((p + 40 /* &.xNextChar */))))(tls, (p /* &.sIn */)))) != uint32(0) { + for (libc.AssignUint32(&c, (*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, (p /* &.sIn */)))) != uint32(0) { if (c == uint32('[')) && (int32(rePeek(tls, p)) == ':') { return ts + 6261 /* "POSIX character ..." */ } @@ -25831,7 +26236,9 @@ func re_subcompile_string(tls *libc.TLS, p uintptr) uintptr { /* regexp.c:477:19 if int32(rePeek(tls, p)) == '-' { re_append(tls, p, RE_OP_CC_RANGE, int32(c)) (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++ - c = (*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((p + 40 /* &.xNextChar */))))(tls, (p /* &.sIn */)) + c = (*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, (p /* &.sIn */)) if c == uint32('\\') { c = re_esc_char(tls, p) } @@ -26457,7 +26864,13 @@ func sqlite3_regexp_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintp // array_name[restrict] // GCC 3.1 supports this. +// Describes a char array whose address can safely be passed as the first +// argument to strncpy and strncat, as the char array is not necessarily +// a NUL-terminated string. + // Undefine (also defined in libc-symbols.h). +// Copies attributes from the declaration or type referenced by +// the argument. // Determine the wordsize from the preprocessor defines. @@ -26555,14 +26968,14 @@ func sqlite3_remember_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uin // serve as the underlying representation of a cursor that scans // over rows of the result type series_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FisDesc int32 - _ [4]byte - FiRowid sqlite3_int64 - FiValue sqlite3_int64 - FmnValue sqlite3_int64 - FmxValue sqlite3_int64 - FiStep sqlite3_int64 + Fbase sqlite3_vtab_cursor + FisDesc int32 + F__ccgo_pad1 [4]byte + FiRowid sqlite3_int64 + FiValue sqlite3_int64 + FmnValue sqlite3_int64 + FmxValue sqlite3_int64 + FiStep sqlite3_int64 } /* series.c:83:9 */ // series_cursor is a subclass of sqlite3_vtab_cursor which will @@ -27417,19 +27830,19 @@ type EditDist3Cost1 = struct { // Forward declaration of structures type EditDist3Cost = EditDist3Cost1 /* spellfix.c:546:30 */ type EditDist3Config1 = struct { - FnLang int32 - _ [4]byte - Fa uintptr + FnLang int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* spellfix.c:547:9 */ type EditDist3Config = EditDist3Config1 /* spellfix.c:547:32 */ type EditDist3From1 = struct { - FnSubst int32 - FnDel int32 - FnByte int32 - _ [4]byte - FapSubst uintptr - FapDel uintptr + FnSubst int32 + FnDel int32 + FnByte int32 + F__ccgo_pad1 [4]byte + FapSubst uintptr + FapDel uintptr } /* spellfix.c:549:9 */ type EditDist3From = EditDist3From1 /* spellfix.c:549:30 */ @@ -27449,10 +27862,10 @@ type EditDist3To1 = struct { type EditDist3To = EditDist3To1 /* spellfix.c:551:28 */ type EditDist3ToString1 = struct { - Fz uintptr - Fn int32 - _ [4]byte - Fa uintptr + Fz uintptr + Fn int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* spellfix.c:552:9 */ type EditDist3ToString = EditDist3ToString1 /* spellfix.c:552:34 */ @@ -29374,22 +29787,22 @@ func spellfix1RowCompare(tls *libc.TLS, A uintptr, B uintptr) int32 { /* spellfi // A structure used to pass information from spellfix1FilterForMatch() // into spellfix1RunQuery(). type MatchQuery1 = struct { - FpCur uintptr - FpStmt uintptr - FzHash [32]uint8 - FzPattern uintptr - FnPattern int32 - _ [4]byte - FpMatchStr3 uintptr - FpConfig3 uintptr - FpLang uintptr - FiLang int32 - FiScope int32 - FiMaxDist int32 - Frc int32 - FnRun int32 - FazPrior [1][32]uint8 - _ [4]byte + FpCur uintptr + FpStmt uintptr + FzHash [32]uint8 + FzPattern uintptr + FnPattern int32 + F__ccgo_pad1 [4]byte + FpMatchStr3 uintptr + FpConfig3 uintptr + FpLang uintptr + FiLang int32 + FiScope int32 + FiMaxDist int32 + Frc int32 + FnRun int32 + FazPrior [1][32]uint8 + F__ccgo_pad2 [4]byte } /* spellfix.c:2366:9 */ // A structure used to pass information from spellfix1FilterForMatch() @@ -30866,11 +31279,11 @@ func sqlite3_totype_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintp // simultaneous queries. type UnionCsr1 = struct { - Fbase sqlite3_vtab_cursor - FpStmt uintptr - FiMaxRowid sqlite3_int64 - FiTab int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + FpStmt uintptr + FiMaxRowid sqlite3_int64 + FiTab int32 + F__ccgo_pad1 [4]byte } /* unionvtab.c:181:9 */ // Floating-point inline functions for stdlib.h. @@ -30910,10 +31323,10 @@ type UnionTab1 = struct { FbSwarm int32 FiPK int32 FnSrc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaSrc uintptr FbHasContext int32 - _ [4]byte + F__ccgo_pad2 [4]byte FzSourceStr uintptr FpNotFound uintptr FpOpenClose uintptr @@ -30931,7 +31344,7 @@ type UnionSrc1 = struct { FzFile uintptr FzContext uintptr FnUser int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fdb uintptr FpNextClosable uintptr } /* unionvtab.c:182:9 */ @@ -32259,11 +32672,6 @@ func sqlite3_wholenumber_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi return rc } -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -32274,7 +32682,7 @@ func sqlite3_wholenumber_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi type max_align_t = struct { F__max_align_ll int64 F__max_align_ld float64 -} /* stddef.h:437:3 */ +} /* stddef.h:426:3 */ type z_size_t = size_t /* zconf.h:248:21 */ @@ -32319,7 +32727,7 @@ type voidpc = uintptr /* zconf.h:408:23 */ type voidpf = uintptr /* zconf.h:409:23 */ type voidp = uintptr /* zconf.h:410:23 */ -// Copyright (C) 1992-2017 Free Software Foundation, Inc. +// Copyright (C) 1992-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -32656,7 +33064,7 @@ type voidp = uintptr /* zconf.h:410:23 */ // This value is defined like this in regex.h. -// Copyright (C) 1991-2017 Free Software Foundation, Inc. +// Copyright (C) 1991-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -32771,23 +33179,23 @@ type alloc_func = uintptr /* zlib.h:81:16 */ type free_func = uintptr /* zlib.h:82:16 */ type z_stream_s = struct { - Fnext_in uintptr - Favail_in uInt - _ [4]byte - Ftotal_in uLong - Fnext_out uintptr - Favail_out uInt - _ [4]byte - Ftotal_out uLong - Fmsg uintptr - Fstate uintptr - Fzalloc alloc_func - Fzfree free_func - Fopaque voidpf - Fdata_type int32 - _ [4]byte - Fadler uLong - Freserved uLong + Fnext_in uintptr + Favail_in uInt + F__ccgo_pad1 [4]byte + Ftotal_in uLong + Fnext_out uintptr + Favail_out uInt + F__ccgo_pad2 [4]byte + Ftotal_out uLong + Fmsg uintptr + Fstate uintptr + Fzalloc alloc_func + Fzfree free_func + Fopaque voidpf + Fdata_type int32 + F__ccgo_pad3 [4]byte + Fadler uLong + Freserved uLong } /* zlib.h:86:9 */ type z_stream = z_stream_s /* zlib.h:106:3 */ @@ -32798,22 +33206,22 @@ type z_streamp = uintptr /* zlib.h:108:22 */ // gzip header information passed to and from zlib routines. See RFC 1952 // for more details on the meanings of these fields. type gz_header_s = struct { - Ftext int32 - _ [4]byte - Ftime uLong - Fxflags int32 - Fos int32 - Fextra uintptr - Fextra_len uInt - Fextra_max uInt - Fname uintptr - Fname_max uInt - _ [4]byte - Fcomment uintptr - Fcomm_max uInt - Fhcrc int32 - Fdone int32 - _ [4]byte + Ftext int32 + F__ccgo_pad1 [4]byte + Ftime uLong + Fxflags int32 + Fos int32 + Fextra uintptr + Fextra_len uInt + Fextra_max uInt + Fname uintptr + Fname_max uInt + F__ccgo_pad2 [4]byte + Fcomment uintptr + Fcomm_max uInt + Fhcrc int32 + Fdone int32 + F__ccgo_pad3 [4]byte } /* zlib.h:114:9 */ // @@ -32896,10 +33304,10 @@ type out_func = uintptr /* zlib.h:1095:13 */ // wrapper, documented in RFC 1952, wrapped around a deflate stream. type gzFile_s = struct { - Fhave uint32 - _ [4]byte - Fnext uintptr - Fpos off_t + Fhave uint32 + F__ccgo_pad1 [4]byte + Fnext uintptr + Fpos off_t } /* zlib.h:1301:9 */ // @@ -33072,10 +33480,10 @@ type ZipfileCDS1 = struct { FnComment u16 FiDiskStart u16 FiInternalAttr u16 - _ [2]byte + F__ccgo_pad1 [2]byte FiExternalAttr u32 FiOffset u32 - _ [4]byte + F__ccgo_pad2 [4]byte FzFile uintptr } /* zipfile.c:200:9 */ @@ -33122,7 +33530,7 @@ type ZipfileLFH1 = struct { FiCompression u16 FmTime u16 FmDate u16 - _ [2]byte + F__ccgo_pad1 [2]byte Fcrc32 u32 FszCompressed u32 FszUncompressed u32 @@ -33147,30 +33555,30 @@ type ZipfileLFH1 = struct { type ZipfileLFH = ZipfileLFH1 /* zipfile.c:237:27 */ type ZipfileEntry1 = struct { - Fcds ZipfileCDS - FmUnixTime u32 - _ [4]byte - FaExtra uintptr - FiDataOff i64 - FaData uintptr - FpNext uintptr + Fcds ZipfileCDS + FmUnixTime u32 + F__ccgo_pad1 [4]byte + FaExtra uintptr + FiDataOff i64 + FaData uintptr + FpNext uintptr } /* zipfile.c:251:9 */ type ZipfileEntry = ZipfileEntry1 /* zipfile.c:251:29 */ // Cursor type for zipfile tables. type ZipfileCsr1 = struct { - Fbase sqlite3_vtab_cursor - FiId i64 - FbEof u8 - FbNoop u8 - _ [6]byte - FpFile uintptr - FiNextOff i64 - Feocd ZipfileEOCD - FpFreeEntry uintptr - FpCurrent uintptr - FpCsrNext uintptr + Fbase sqlite3_vtab_cursor + FiId i64 + FbEof u8 + FbNoop u8 + F__ccgo_pad1 [6]byte + FpFile uintptr + FiNextOff i64 + Feocd ZipfileEOCD + FpFreeEntry uintptr + FpCurrent uintptr + FpCsrNext uintptr } /* zipfile.c:264:9 */ // Cursor type for zipfile tables. @@ -33585,7 +33993,7 @@ func zipfileMtime(tls *libc.TLS, pCDS uintptr) u32 { /* zipfile.c:722:12: */ X2 = ((306001 * (M + 1)) / 10000) A = (Y / 100) B = ((2 - A) + (A / 4)) - JDsec = ((((i64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400))) + (i64(hr * 3600))) + (i64(min * 60))) + i64(sec)) + JDsec = ((((libc.Int64FromFloat64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400))) + (i64(hr * 3600))) + (i64(min * 60))) + i64(sec)) return (u32(JDsec - (int64(24405875) * int64(8640)))) } @@ -33607,14 +34015,14 @@ func zipfileMtimeToDos(tls *libc.TLS, pCds uintptr, mUnixTime u32) { /* zipfile. var min int32 var sec int32 - A = (int32((float64(JD) - 1867216.25) / 36524.25)) + A = (libc.Int32FromFloat64((float64(JD) - 1867216.25) / 36524.25)) A = (int32(((JD + int64(1)) + i64(A)) - (i64(A / 4)))) B = (A + 1524) - C = (int32((float64(B) - 122.1) / 365.25)) + C = (libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)) D = ((36525 * (C & 32767)) / 100) - E = (int32((float64(B - D)) / 30.6001)) + E = (libc.Int32FromFloat64((float64(B - D)) / 30.6001)) - day = ((B - D) - (int32(30.6001 * float64(E)))) + day = ((B - D) - (libc.Int32FromFloat64(30.6001 * float64(E)))) mon = func() int32 { if E < 14 { return (E - 1) @@ -34462,13 +34870,17 @@ func zipfileTime(tls *libc.TLS) u32 { /* zipfile.c:1486:12: */ if ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion >= 2) && ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64 != 0) { // var ms i64 at bp, 8 - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, bp /* &ms */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, bp /* &ms */) ret = (u32((*(*i64)(unsafe.Pointer(bp /* ms */)) / int64(1000)) - (int64(24405875) * int64(8640)))) } else { // var day float64 at bp+8, 8 - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, bp+8 /* &day */) - ret = (u32((*(*float64)(unsafe.Pointer(bp + 8 /* day */)) - 2440587.5) * float64(86400))) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, bp+8 /* &day */) + ret = (libc.Uint32FromFloat64((*(*float64)(unsafe.Pointer(bp + 8 /* day */)) - 2440587.5) * float64(86400))) } return ret } @@ -35121,10 +35533,10 @@ type ZipfileBuffer1 = struct { type ZipfileBuffer = ZipfileBuffer1 /* zipfile.c:1900:30 */ type ZipfileCtx1 = struct { - FnEntry int32 - _ [4]byte - Fbody ZipfileBuffer - Fcds ZipfileBuffer + FnEntry int32 + F__ccgo_pad1 [4]byte + Fbody ZipfileBuffer + Fcds ZipfileBuffer } /* zipfile.c:1907:9 */ type ZipfileCtx = ZipfileCtx1 /* zipfile.c:1907:27 */ @@ -35757,10 +36169,10 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o } type RbuCmd = struct { - FzName uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr } /* test_rbu.c:67:3 */ // Tclcmd: sqlite3rbu CMD ?? @@ -35914,11 +36326,11 @@ type TestSession1 = struct { type TestSession = TestSession1 /* test_session.c:21:28 */ type TestStreamInput1 = struct { - FnStream int32 - _ [4]byte - FaData uintptr - FnData int32 - FiData int32 + FnStream int32 + F__ccgo_pad1 [4]byte + FaData uintptr + FnData int32 + FiData int32 } /* test_session.c:28:9 */ type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ @@ -36097,9 +36509,9 @@ func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* tes } type TestSessionsBlob1 = struct { - Fp uintptr - Fn int32 - _ [4]byte + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte } /* test_session.c:191:1 */ type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ @@ -36311,12 +36723,12 @@ func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } type SessionSubcmd = struct { - FzSub uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr - FiSub int32 - _ [4]byte + FzSub uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr + FiSub int32 + F__ccgo_pad2 [4]byte } /* test_session.c:233:10 */ var aSub = [13]SessionSubcmd{ @@ -37304,12 +37716,12 @@ func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } type RebaseSubcmd = struct { - FzSub uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr - FiSub int32 - _ [4]byte + FzSub uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr + FiSub int32 + F__ccgo_pad2 [4]byte } /* test_session.c:1177:10 */ var aSub1 = [4]RebaseSubcmd{ @@ -37381,9 +37793,9 @@ func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintpt } type ConfigOpt = struct { - FzSub uintptr - Fop int32 - _ [4]byte + FzSub uintptr + Fop int32 + F__ccgo_pad1 [4]byte } /* test_session.c:1294:10 */ var aSub2 = [3]ConfigOpt{ @@ -37677,9 +38089,9 @@ type sig_atomic_t = int32 /* sig_atomic_t.h:8:24 */ // Type for data associated with a signal. type sigval = struct { - _ [0]uint64 - Fsival_int int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fsival_int int32 + F__ccgo_pad2 [4]byte } /* __sigval_t.h:24:1 */ // Some fields of siginfo_t have architecture-specific variations. @@ -37693,8 +38105,8 @@ type siginfo_t = struct { Fsi_code int32 F__pad0 int32 F_sifields struct { - _ [0]uint64 - F_pad [28]int32 + F__ccgo_pad1 [0]uint64 + F_pad [28]int32 } } /* siginfo_t.h:124:5 */ @@ -37848,7 +38260,7 @@ type sigcontext = struct { Fsregs uintptr } /* sigcontext.h:77:1 */ -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -37880,15 +38292,6 @@ type sigcontext = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -37923,11 +38326,6 @@ type sigcontext = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Define stack_t. Linux version. @@ -37948,7 +38346,7 @@ type sigcontext = struct { // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -37980,15 +38378,6 @@ type sigcontext = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -38023,19 +38412,14 @@ type sigcontext = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Structure describing a signal stack. type stack_t = struct { - Fss_sp uintptr - Fss_flags int32 - _ [4]byte - Fss_size size_t + Fss_sp uintptr + Fss_flags int32 + F__ccgo_pad1 [4]byte + Fss_size size_t } /* stack_t.h:31:5 */ // Type for a general-purpose register. @@ -38053,9 +38437,9 @@ type fpreg_t = struct{ Fd float64 } /* ucontext.h:64:5 */ // Register set for the floating-point registers. type fpregset_t = struct { - Ffpc uint32 - _ [4]byte - Ffprs [16]fpreg_t + Ffpc uint32 + F__ccgo_pad1 [4]byte + Ffprs [16]fpreg_t } /* ucontext.h:71:5 */ // Context to describe whole processor state. @@ -38101,9 +38485,9 @@ type ucontext_t = ucontext_t1 /* ucontext.h:90:5 */ // Structure describing a signal stack (obsolete). type sigstack = struct { - Fss_sp uintptr - Fss_onstack int32 - _ [4]byte + Fss_sp uintptr + Fss_onstack int32 + F__ccgo_pad1 [4]byte } /* struct_sigstack.h:23:1 */ // Define some macros helping to catch buffer overflows. @@ -38143,7 +38527,7 @@ type SqliteDb = struct { FzBindFallback uintptr FzAuth uintptr FdisableAuth int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzNull uintptr FpFunc uintptr FpUpdateHook uintptr @@ -38153,7 +38537,7 @@ type SqliteDb = struct { FpUnlockNotify uintptr FpCollate uintptr Frc int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpCollateNeeded uintptr FstmtList uintptr FstmtLast uintptr @@ -38167,7 +38551,7 @@ type SqliteDb = struct { FnTransaction int32 FopenFlags int32 FbLegacyPrepare int32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* tclsqlite.c:91:25 */ // New SQL functions can be created as TCL scripts. Each such function @@ -38217,15 +38601,15 @@ type SqlCollate = SqlCollate1 /* tclsqlite.c:120:27 */ // Prepared statements are cached for faster execution. Each prepared // statement is described by an instance of the following structure. type SqlPreparedStmt1 = struct { - FpNext uintptr - FpPrev uintptr - FpStmt uintptr - FnSql int32 - _ [4]byte - FzSql uintptr - FnParm int32 - _ [4]byte - FapParm uintptr + FpNext uintptr + FpPrev uintptr + FpStmt uintptr + FnSql int32 + F__ccgo_pad1 [4]byte + FzSql uintptr + FnParm int32 + F__ccgo_pad2 [4]byte + FapParm uintptr } /* tclsqlite.c:131:9 */ // Prepared statements are cached for faster execution. Each prepared @@ -38233,13 +38617,13 @@ type SqlPreparedStmt1 = struct { type SqlPreparedStmt = SqlPreparedStmt1 /* tclsqlite.c:131:32 */ type IncrblobChannel1 = struct { - FpBlob uintptr - FpDb uintptr - FiSeek int32 - _ [4]byte - Fchannel Tcl_Channel - FpNext uintptr - FpPrev uintptr + FpBlob uintptr + FpDb uintptr + FiSeek int32 + F__ccgo_pad1 [4]byte + Fchannel Tcl_Channel + FpNext uintptr + FpPrev uintptr } /* tclsqlite.c:142:9 */ type IncrblobChannel = IncrblobChannel1 /* tclsqlite.c:142:32 */ @@ -43008,9 +43392,9 @@ __3: } type DbConfigChoices = struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ @@ -43710,9 +44094,9 @@ type HashElem = HashElem1 /* hash.h:20:25 */ // in the table, it is faster to do a linear search than to manage // the hash table. type _ht = struct { - Fcount uint32 - _ [4]byte - Fchain uintptr + Fcount uint32 + F__ccgo_pad1 [4]byte + Fchain uintptr } /* sqlite3.h:249:9 */ // The structure with the cookie function pointers. @@ -43801,7 +44185,7 @@ type BusyHandler1 = struct { FxBusyHandler uintptr FpBusyArg uintptr FnBusy int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // An instance of the following structure is used to store the busy-handler @@ -43863,7 +44247,7 @@ type BusyHandler = BusyHandler1 /* sqliteInt.h:1037:28 */ type AggInfo1 = struct { FdirectMode u8 FuseSortingIdx u8 - _ [2]byte + F__ccgo_pad1 [2]byte FsortingIdx int32 FsortingIdxPTab int32 FnSortingColumn int32 @@ -43941,47 +44325,47 @@ type AutoincInfo1 = struct { type AutoincInfo = AutoincInfo1 /* sqliteInt.h:1135:28 */ type CollSeq1 = struct { - FzName uintptr - Fenc u8 - _ [7]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr + FzName uintptr + Fenc u8 + F__ccgo_pad1 [7]byte + FpUser uintptr + FxCmp uintptr + FxDel uintptr } /* sqlite3.h:249:9 */ type CollSeq = CollSeq1 /* sqliteInt.h:1137:24 */ type Column1 = struct { - FzName uintptr - FpDflt uintptr - FzColl uintptr - FnotNull u8 - Faffinity uint8 - FszEst u8 - FhName u8 - FcolFlags u16 - _ [2]byte + FzName uintptr + FpDflt uintptr + FzColl uintptr + FnotNull u8 + Faffinity uint8 + FszEst u8 + FhName u8 + FcolFlags u16 + F__ccgo_pad1 [2]byte } /* sqlite3.h:249:9 */ type Column = Column1 /* sqliteInt.h:1138:23 */ type Cte1 = struct { - FzName uintptr - FpCols uintptr - FpSelect uintptr - FzCteErr uintptr - FpUse uintptr - FeM10d u8 - _ [7]byte + FzName uintptr + FpCols uintptr + FpSelect uintptr + FzCteErr uintptr + FpUse uintptr + FeM10d u8 + F__ccgo_pad1 [7]byte } /* sqlite3.h:249:9 */ type Cte = Cte1 /* sqliteInt.h:1139:20 */ type CteUse1 = struct { - FnUse int32 - FaddrM9e int32 - FregRtn int32 - FiCur int32 - FnRowEst LogEst - FeM10d u8 - _ [1]byte + FnUse int32 + FaddrM9e int32 + FregRtn int32 + FiCur int32 + FnRowEst LogEst + FeM10d u8 + F__ccgo_pad1 [1]byte } /* sqlite3.h:249:9 */ type CteUse = CteUse1 /* sqliteInt.h:1140:23 */ @@ -43990,20 +44374,20 @@ type Db1 = struct { FpBt uintptr Fsafety_level u8 FbSyncSet u8 - _ [6]byte + F__ccgo_pad1 [6]byte FpSchema uintptr } /* sqlite3.h:249:9 */ type Db = Db1 /* sqliteInt.h:1141:19 */ type DbFixer1 = struct { - FpParse uintptr - Fw Walker - FpSchema uintptr - FbTemp u8 - _ [7]byte - FzDb uintptr - FzType uintptr - FpName uintptr + FpParse uintptr + Fw Walker + FpSchema uintptr + FbTemp u8 + F__ccgo_pad1 [7]byte + FzDb uintptr + FzType uintptr + FpName uintptr } /* sqliteInt.h:1142:9 */ type DbFixer = DbFixer1 /* sqliteInt.h:1142:24 */ @@ -44026,7 +44410,7 @@ type Expr1 = struct { Fop u8 FaffExpr uint8 Fop2 u8 - _ [1]byte + F__ccgo_pad1 [1]byte Fflags u32 Fu struct{ FzToken uintptr } FpLeft uintptr @@ -44046,63 +44430,63 @@ type ExprList1 = struct { FnExpr int32 FnAlloc int32 Fa [1]struct { - FpExpr uintptr - FzEName uintptr - FsortFlags u8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags u8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol u16 FiAlias u16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } } /* sqlite3.h:249:9 */ type ExprList = ExprList1 /* sqliteInt.h:1145:25 */ type FKey1 = struct { - FpFrom uintptr - FpNextFrom uintptr - FzTo uintptr - FpNextTo uintptr - FpPrevTo uintptr - FnCol int32 - FisDeferred u8 - FaAction [2]u8 - _ [1]byte - FapTrigger [2]uintptr - FaCol [1]struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FpFrom uintptr + FpNextFrom uintptr + FzTo uintptr + FpNextTo uintptr + FpPrevTo uintptr + FnCol int32 + FisDeferred u8 + FaAction [2]u8 + F__ccgo_pad1 [1]byte + FapTrigger [2]uintptr + FaCol [1]struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } } /* sqlite3.h:249:9 */ type FKey = FKey1 /* sqliteInt.h:1146:21 */ type FuncDestructor1 = struct { - FnRef int32 - _ [4]byte - FxDestroy uintptr - FpUserData uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FxDestroy uintptr + FpUserData uintptr } /* sqliteInt.h:1147:9 */ type FuncDestructor = FuncDestructor1 /* sqliteInt.h:1147:31 */ type FuncDef1 = struct { - FnArg i8 - _ [3]byte - FfuncFlags u32 - FpUserData uintptr - FpNext uintptr - FxSFunc uintptr - FxFinalize uintptr - FxValue uintptr - FxInverse uintptr - FzName uintptr - Fu struct{ FpHash uintptr } + FnArg i8 + F__ccgo_pad1 [3]byte + FfuncFlags u32 + FpUserData uintptr + FpNext uintptr + FxSFunc uintptr + FxFinalize uintptr + FxValue uintptr + FxInverse uintptr + FzName uintptr + Fu struct{ FpHash uintptr } } /* sqlite3.h:249:9 */ type FuncDef = FuncDef1 /* sqliteInt.h:1148:24 */ @@ -44110,9 +44494,9 @@ type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqliteInt.h:1149:9 */ type FuncDefHash = FuncDefHash1 /* sqliteInt.h:1149:28 */ type IdList1 = struct { - Fa uintptr - FnId int32 - _ [4]byte + Fa uintptr + FnId int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ type IdList = IdList1 /* sqliteInt.h:1150:23 */ @@ -44133,59 +44517,59 @@ type Index1 = struct { FnKeyCol u16 FnColumn u16 FonError u8 - _ [1]byte + F__ccgo_pad1 [1]byte FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ - _ [2]byte + F__ccgo_pad2 [2]byte FnSample int32 FnSampleCol int32 FaAvgEq uintptr FaSample uintptr FaiRowEst uintptr FnRowEst0 tRowcnt - _ [4]byte + F__ccgo_pad3 [4]byte FcolNotIdxed Bitmask } /* sqlite3.h:249:9 */ type Index = Index1 /* sqliteInt.h:1151:22 */ type IndexSample1 = struct { - Fp uintptr - Fn int32 - _ [4]byte - FanEq uintptr - FanLt uintptr - FanDLt uintptr + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte + FanEq uintptr + FanLt uintptr + FanDLt uintptr } /* sqlite3.h:249:9 */ type IndexSample = IndexSample1 /* sqliteInt.h:1152:28 */ type KeyInfo1 = struct { - FnRef u32 - Fenc u8 - _ [1]byte - FnKeyField u16 - FnAllField u16 - _ [6]byte - Fdb uintptr - FaSortFlags uintptr - FaColl [1]uintptr + FnRef u32 + Fenc u8 + F__ccgo_pad1 [1]byte + FnKeyField u16 + FnAllField u16 + F__ccgo_pad2 [6]byte + Fdb uintptr + FaSortFlags uintptr + FaColl [1]uintptr } /* sqlite3.h:249:9 */ type KeyInfo = KeyInfo1 /* sqliteInt.h:1154:24 */ type Lookaside1 = struct { - FbDisable u32 - Fsz u16 - FszTrue u16 - FbMalloced u8 - _ [3]byte - FnSlot u32 - FanStat [3]u32 - _ [4]byte - FpInit uintptr - FpFree uintptr - FpSmallInit uintptr - FpSmallFree uintptr - FpMiddle uintptr - FpStart uintptr - FpEnd uintptr + FbDisable u32 + Fsz u16 + FszTrue u16 + FbMalloced u8 + F__ccgo_pad1 [3]byte + FnSlot u32 + FanStat [3]u32 + F__ccgo_pad2 [4]byte + FpInit uintptr + FpFree uintptr + FpSmallInit uintptr + FpSmallFree uintptr + FpMiddle uintptr + FpStart uintptr + FpEnd uintptr } /* sqlite3.h:249:9 */ type Lookaside = Lookaside1 /* sqliteInt.h:1155:26 */ @@ -44193,26 +44577,26 @@ type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.h:249:9 */ type LookasideSlot = LookasideSlot1 /* sqliteInt.h:1156:30 */ type Module1 = struct { - FpModule uintptr - FzName uintptr - FnRefModule int32 - _ [4]byte - FpAux uintptr - FxDestroy uintptr - FpEpoTab uintptr + FpModule uintptr + FzName uintptr + FnRefModule int32 + F__ccgo_pad1 [4]byte + FpAux uintptr + FxDestroy uintptr + FpEpoTab uintptr } /* sqlite3.h:249:9 */ type Module = Module1 /* sqliteInt.h:1157:23 */ type NameContext1 = struct { - FpParse uintptr - FpSrcList uintptr - FuNC struct{ FpEList uintptr } - FpNext uintptr - FnRef int32 - FnNcErr int32 - FncFlags int32 - _ [4]byte - FpWinSelect uintptr + FpParse uintptr + FpSrcList uintptr + FuNC struct{ FpEList uintptr } + FpNext uintptr + FnRef int32 + FnNcErr int32 + FncFlags int32 + F__ccgo_pad1 [4]byte + FpWinSelect uintptr } /* sqliteInt.h:1158:9 */ type NameContext = NameContext1 /* sqliteInt.h:1158:28 */ @@ -44231,7 +44615,7 @@ type Parse1 = struct { FokConstFactor u8 FdisableLookaside u8 FdisableVtab u8 - _ [2]byte + F__ccgo_pad1 [2]byte FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -44241,7 +44625,7 @@ type Parse1 = struct { FiSelfTab int32 FnLabel int32 FnLabelAlloc int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaLabel uintptr FpConstExpr uintptr FconstraintName Token @@ -44252,16 +44636,16 @@ type Parse1 = struct { FnMaxArg int32 FnSelect int32 FnTableLock int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaTableLock uintptr FpAinc uintptr FpToplevel uintptr FpTriggerTab uintptr FpParentParse uintptr Fu1 struct { - _ [0]uint64 - FaddrCrTab int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + FaddrCrTab int32 + F__ccgo_pad2 [4]byte } FnQueryLoop u32 Foldmask u32 @@ -44277,11 +44661,11 @@ type Parse1 = struct { FiPkSortOrder u8 Fexplain u8 FeParseMode u8 - _ [3]byte + F__ccgo_pad4 [3]byte FnVtabLock int32 FnHeight int32 FaddrExplain int32 - _ [4]byte + F__ccgo_pad5 [4]byte FpVList uintptr FpReprepare uintptr FzTail uintptr @@ -44309,7 +44693,7 @@ type PreUpdate1 = struct { Fv uintptr FpCsr uintptr Fop int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaRecord uintptr Fkeyinfo KeyInfo FpUnpacked uintptr @@ -44332,14 +44716,14 @@ type PrintfArguments1 = struct { type PrintfArguments = PrintfArguments1 /* sqliteInt.h:1162:32 */ type Returning1 = struct { - FpParse uintptr - FpReturnEL uintptr - FretTrig Trigger - FretTStep TriggerStep - FiRetCur int32 - FnRetCol int32 - FiRetReg int32 - _ [4]byte + FpParse uintptr + FpReturnEL uintptr + FretTrig Trigger + FretTStep TriggerStep + FiRetCur int32 + FnRetCol int32 + FiRetReg int32 + F__ccgo_pad1 [4]byte } /* sqliteInt.h:1164:9 */ type Returning = Returning1 /* sqliteInt.h:1164:26 */ @@ -44353,14 +44737,14 @@ type Savepoint1 = struct { type Savepoint = Savepoint1 /* sqliteInt.h:1166:26 */ type Select1 = struct { Fop u8 - _ [1]byte + F__ccgo_pad1 [1]byte FnSelectRow LogEst FselFlags u32 FiLimit int32 FiOffset int32 FselId u32 FaddrOpenEphm [2]int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpEList uintptr FpSrc uintptr FpWhere uintptr @@ -44377,15 +44761,15 @@ type Select1 = struct { type Select = Select1 /* sqliteInt.h:1167:23 */ type SelectDest1 = struct { - FeDest u8 - _ [3]byte - FiSDParm int32 - FiSDParm2 int32 - FiSdst int32 - FnSdst int32 - _ [4]byte - FzAffSdst uintptr - FpOrderBy uintptr + FeDest u8 + F__ccgo_pad1 [3]byte + FiSDParm int32 + FiSDParm2 int32 + FiSdst int32 + FnSdst int32 + F__ccgo_pad2 [4]byte + FzAffSdst uintptr + FpOrderBy uintptr } /* sqliteInt.h:1169:9 */ type SelectDest = SelectDest1 /* sqliteInt.h:1169:27 */ @@ -44400,11 +44784,11 @@ type SrcItem1 = struct { FregReturn int32 FregResult int32 Ffg struct { - _ [0]uint32 - Fjointype u8 - _ [3]byte - FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ - _ [2]byte + F__ccgo_pad1 [0]uint32 + Fjointype u8 + F__ccgo_pad2 [3]byte + FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ + F__ccgo_pad3 [2]byte } FiCursor int32 FpOn uintptr @@ -44440,7 +44824,7 @@ type Table1 = struct { FnRowLogEst LogEst FszTabRow LogEst FkeyConf u8 - _ [1]byte + F__ccgo_pad1 [1]byte FaddColOffset int32 FnModuleArg int32 FazModuleArg uintptr @@ -44452,66 +44836,66 @@ type Table1 = struct { // Internal alias for sqlite3_str type Table = Table1 /* sqliteInt.h:1173:22 */ type Token1 = struct { - Fz uintptr - Fn uint32 - _ [4]byte + Fz uintptr + Fn uint32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ type Token = Token1 /* sqliteInt.h:1175:22 */ type Trigger1 = struct { - FzName uintptr - Ftable uintptr - Fop u8 - Ftr_tm u8 - FbReturning u8 - _ [5]byte - FpWhen uintptr - FpColumns uintptr - FpSchema uintptr - FpTabSchema uintptr - Fstep_list uintptr - FpNext uintptr + FzName uintptr + Ftable uintptr + Fop u8 + Ftr_tm u8 + FbReturning u8 + F__ccgo_pad1 [5]byte + FpWhen uintptr + FpColumns uintptr + FpSchema uintptr + FpTabSchema uintptr + Fstep_list uintptr + FpNext uintptr } /* sqlite3.h:249:9 */ type Trigger = Trigger1 /* sqliteInt.h:1177:24 */ type TriggerPrg1 = struct { - FpTrigger uintptr - FpNext uintptr - FpProgram uintptr - Forconf int32 - FaColmask [2]u32 - _ [4]byte + FpTrigger uintptr + FpNext uintptr + FpProgram uintptr + Forconf int32 + FaColmask [2]u32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ type TriggerPrg = TriggerPrg1 /* sqliteInt.h:1178:27 */ type TriggerStep1 = struct { - Fop u8 - Forconf u8 - _ [6]byte - FpTrig uintptr - FpSelect uintptr - FzTarget uintptr - FpFrom uintptr - FpWhere uintptr - FpExprList uintptr - FpIdList uintptr - FpUpsert uintptr - FzSpan uintptr - FpNext uintptr - FpLast uintptr + Fop u8 + Forconf u8 + F__ccgo_pad1 [6]byte + FpTrig uintptr + FpSelect uintptr + FzTarget uintptr + FpFrom uintptr + FpWhere uintptr + FpExprList uintptr + FpIdList uintptr + FpUpsert uintptr + FzSpan uintptr + FpNext uintptr + FpLast uintptr } /* sqlite3.h:249:9 */ type TriggerStep = TriggerStep1 /* sqliteInt.h:1179:28 */ type UnpackedRecord1 = struct { - FpKeyInfo uintptr - FaMem uintptr - FnField u16 - Fdefault_rc i8 - FerrCode u8 - Fr1 i8 - Fr2 i8 - FeqSeen u8 - _ [1]byte + FpKeyInfo uintptr + FaMem uintptr + FnField u16 + Fdefault_rc i8 + FerrCode u8 + Fr1 i8 + Fr2 i8 + FeqSeen u8 + F__ccgo_pad1 [1]byte } /* sqlite3.h:249:9 */ type UnpackedRecord = UnpackedRecord1 /* sqliteInt.h:1180:31 */ @@ -44522,14 +44906,14 @@ type Upsert1 = struct { FpUpsertWhere uintptr FpNextUpsert uintptr FisDoUpdate u8 - _ [7]byte + F__ccgo_pad1 [7]byte FpToFree uintptr FpUpsertIdx uintptr FpUpsertSrc uintptr FregData int32 FiDataCur int32 FiIdxCur int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.h:249:9 */ type Upsert = Upsert1 /* sqliteInt.h:1181:23 */ @@ -44540,9 +44924,9 @@ type VTable1 = struct { FnRef int32 FbConstraint u8 FeVtabRisk u8 - _ [2]byte + F__ccgo_pad1 [2]byte FiSavepoint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpNext uintptr } /* sqlite3.h:249:9 */ @@ -44554,7 +44938,7 @@ type Walker1 = struct { FxSelectCallback2 uintptr FwalkerDepth int32 FeCode u16 - _ [2]byte + F__ccgo_pad1 [2]byte Fu struct{ FpNC uintptr } } /* sqliteInt.h:1142:9 */ @@ -44569,7 +44953,7 @@ type Window1 = struct { FeEnd u8 FbImplicitFrame u8 FeExclude u8 - _ [3]byte + F__ccgo_pad1 [3]byte FpStart uintptr FpEnd uintptr FppThis uintptr @@ -44589,7 +44973,7 @@ type Window1 = struct { FregStartRowid int32 FregEndRowid int32 FbExprArgs u8 - _ [3]byte + F__ccgo_pad2 [3]byte } /* sqlite3.h:249:9 */ type Window = Window1 /* sqliteInt.h:1186:23 */ @@ -44717,7 +45101,7 @@ type BtCursor1 = struct { FcurIntKey u8 Fix u16 FaiIdx [19]u16 - _ [2]byte + F__ccgo_pad1 [2]byte FpKeyInfo uintptr FpPage uintptr FapPage [19]uintptr @@ -44735,42 +45119,42 @@ type BtShared1 = struct { FinTransaction u8 Fmax1bytePayload u8 FnReserveWanted u8 - _ [1]byte + F__ccgo_pad1 [1]byte FbtsFlags u16 FmaxLocal u16 FminLocal u16 FmaxLeaf u16 FminLeaf u16 - _ [2]byte + F__ccgo_pad2 [2]byte FpageSize u32 FusableSize u32 FnTransaction int32 FnPage u32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSchema uintptr FxFreeSchema uintptr Fmutex uintptr FpHasContent uintptr FnRef int32 - _ [4]byte + F__ccgo_pad4 [4]byte FpNext uintptr FpLock uintptr FpWriter uintptr FpTmpSpace uintptr FnPreformatSize int32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* btree.h:39:9 */ type BtreePayload1 = struct { - FpKey uintptr - FnKey sqlite3_int64 - FpData uintptr - FaMem uintptr - FnMem u16 - _ [2]byte - FnData int32 - FnZero int32 - _ [4]byte + FpKey uintptr + FnKey sqlite3_int64 + FpData uintptr + FaMem uintptr + FnMem u16 + F__ccgo_pad1 [2]byte + FnData int32 + FnZero int32 + F__ccgo_pad2 [4]byte } /* btree.h:42:9 */ type BtreePayload = BtreePayload1 /* btree.h:42:29 */ @@ -44819,7 +45203,7 @@ type Vdbe1 = struct { FpNext uintptr FpParse uintptr FnVar ynVar - _ [2]byte + F__ccgo_pad1 [2]byte FiVdbeMagic u32 FnMem int32 FnCursor int32 @@ -44828,7 +45212,7 @@ type Vdbe1 = struct { Frc int32 FnChange int32 FiStatement int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiCurrentTime i64 FnFkConstraint i64 FnStmtDefCons i64 @@ -44850,9 +45234,9 @@ type Vdbe1 = struct { FminWriteFileFormat u8 FprepFlags u8 FdoingRerun u8 - _ [2]byte + F__ccgo_pad3 [2]byte Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ - _ [2]byte + F__ccgo_pad4 [2]byte FbtreeMask yDbMask FlockMask yDbMask FaCounter [7]u32 @@ -44910,14 +45294,14 @@ type Vdbe = Vdbe1 /* vdbe.h:27:21 */ // for the VdbeOp definition. type Mem = sqlite3_value1 /* vdbe.h:33:30 */ type SubProgram1 = struct { - FaOp uintptr - FnOp int32 - FnMem int32 - FnCsr int32 - _ [4]byte - FaOnce uintptr - Ftoken uintptr - FpNext uintptr + FaOp uintptr + FnOp int32 + FnMem int32 + FnCsr int32 + F__ccgo_pad1 [4]byte + FaOnce uintptr + Ftoken uintptr + FpNext uintptr } /* sqlite3.h:249:9 */ type SubProgram = SubProgram1 /* vdbe.h:34:27 */ @@ -44933,9 +45317,9 @@ type VdbeOp1 = struct { Fp2 int32 Fp3 int32 Fp4 struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } FzComment uintptr } /* sqlite3.h:249:9 */ @@ -44944,9 +45328,9 @@ type VdbeOp1 = struct { // and as many as three operands. The instruction is recorded // as an instance of the following structure: type p4union = struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } /* sqlite3.h:249:9 */ type VdbeOp = VdbeOp1 /* vdbe.h:80:23 */ @@ -45032,9 +45416,9 @@ type sqlite3InitInfo = struct { FnewTnum Pgno FiDb u8 Fbusy u8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } /* sqlite3.h:249:9 */ @@ -45090,9 +45474,9 @@ type sqlite3InitInfo = struct { // A list of all children for a table named Z (which might not even exist) // is held in Schema.fkeyHash with a hash key of Z. type sColMap = struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } /* sqlite3.h:249:9 */ // An instance of this structure contains information needed to generate @@ -45113,7 +45497,7 @@ type AggInfo_col = struct { FiMem int32 FiColumn i16 FiSorterColumn i16 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // An instance of this structure contains information needed to generate @@ -45128,12 +45512,12 @@ type AggInfo_col = struct { // original Select structure that describes the SELECT statement. These // fields do not need to be freed when deallocating the AggInfo structure. type AggInfo_func = struct { - FpFExpr uintptr - FpFunc uintptr - FiMem int32 - FiDistinct int32 - FiDistAddr int32 - _ [4]byte + FpFExpr uintptr + FpFunc uintptr + FiMem int32 + FiDistinct int32 + FiDistAddr int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // The datatype ynVar is a signed integer, either 16-bit or 32-bit. @@ -45197,20 +45581,20 @@ type ynVar = i16 /* sqliteInt.h:2622:13 */ // ENAME_SPAN Text of the original result set // expression. type ExprList_item = struct { - FpExpr uintptr - FzEName uintptr - FsortFlags u8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags u8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol u16 FiAlias u16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.h:249:9 */ // Allowed values for Expr.a.eEName @@ -45229,9 +45613,9 @@ type ExprList_item = struct { // // If "a" is the k-th column of table "t", then IdList.a[0].idx==k. type IdList_item = struct { - FzName uintptr - Fidx int32 - _ [4]byte + FzName uintptr + Fidx int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // The yDbMask datatype for the bitmask of all attached databases. @@ -45240,14 +45624,14 @@ type yDbMask = uint32 /* sqliteInt.h:3379:24 */ // A pointer to this structure is used to communicate information // from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. type InitData = struct { - Fdb uintptr - FpzErrMsg uintptr - FiDb int32 - Frc int32 - FmInitFlags u32 - FnInitRow u32 - FmxPage Pgno - _ [4]byte + Fdb uintptr + FpzErrMsg uintptr + FiDb int32 + Frc int32 + FmInitFlags u32 + FnInitRow u32 + FmxPage Pgno + F__ccgo_pad1 [4]byte } /* sqliteInt.h:3737:3 */ // Allowed values for mInitFlags @@ -45272,7 +45656,7 @@ type Sqlite3Config = struct { FbUseCis u8 FbSmallMalloc u8 FbExtraSchemaChecks u8 - _ [2]byte + F__ccgo_pad1 [2]byte FmxStrlen int32 FneverCorrupt int32 FszLookaside int32 @@ -45285,7 +45669,7 @@ type Sqlite3Config = struct { FnHeap int32 FmnReq int32 FmxReq int32 - _ [4]byte + F__ccgo_pad2 [4]byte FszMmap sqlite3_int64 FmxMmap sqlite3_int64 FpPage uintptr @@ -45300,7 +45684,7 @@ type Sqlite3Config = struct { FisMallocInit int32 FisPCacheInit int32 FnRefInitMutex int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpInitMutex uintptr FxLog uintptr FpLogArg uintptr @@ -45370,11 +45754,11 @@ type VdbeCursor1 = struct { FnullRow u8 FdeferredMoveto u8 FisTable u8 - _ [3]byte + F__ccgo_pad1 [3]byte FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ - _ [1]byte + F__ccgo_pad2 [1]byte FseekHit u16 - _ [4]byte + F__ccgo_pad3 [4]byte FpBtx uintptr FseqCount i64 FaAltMap uintptr @@ -45387,14 +45771,14 @@ type VdbeCursor1 = struct { FpgnoRoot Pgno FnField i16 FnHdrParsed u16 - _ [4]byte + F__ccgo_pad4 [4]byte FmovetoTarget i64 FaOffset uintptr FaRow uintptr FpayloadSize u32 FszRow u32 FaType [1]u32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* sqlite3.h:249:9 */ // Types of VDBE cursors @@ -45496,7 +45880,7 @@ type ScanStatus1 = struct { FaddrVisit int32 FiSelectID int32 FnEst LogEst - _ [6]byte + F__ccgo_pad1 [6]byte FzName uintptr } /* vdbeInt.h:350:9 */ @@ -47488,9 +47872,9 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt } type EncTable = struct { - FzEnc uintptr - Fenc int32 - _ [4]byte + FzEnc uintptr + Fenc int32 + F__ccgo_pad1 [4]byte } /* test1.c:1846:3 */ // Usage: sqlite3_load_extension DB-HANDLE FILE ?PROC? @@ -47763,9 +48147,9 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, aOp[i].FzName, zOpName) == 0 { *(*int32)(unsafe.Pointer(bp + 8 /* op */)) = aOp[i].Fop @@ -47773,9 +48157,9 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } } if i >= (int32(uint64(unsafe.Sizeof(aOp)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))) { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8 /* &op */) != 0 { return TCL_ERROR @@ -47790,9 +48174,9 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } var aOp = [7]struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, @@ -47837,7 +48221,9 @@ func vfsCurrentTimeInt64(tls *libc.TLS, clientData uintptr, interp uintptr, objc tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+489 /* "" */) return TCL_ERROR } - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, bp /* &t */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, bp /* &t */) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*i64)(unsafe.Pointer(bp /* t */)))) return TCL_OK } @@ -48101,7 +48487,9 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp+24 /* &pFd */) - dc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */)))).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */))) + dc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */)))).FpMethods)).FxDeviceCharacteristics})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */))) if (dc & SQLITE_IOCAP_BATCH_ATOMIC) != 0 { bRes = 1 } @@ -50785,9 +51173,9 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } type OpenFlag = struct { - FzFlag uintptr - Fflag int32 - _ [4]byte + FzFlag uintptr + Fflag int32 + F__ccgo_pad1 [4]byte } /* test1.c:4830:5 */ // Usage: sqlite3_open16 filename options @@ -51140,7 +51528,9 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - zRet = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) + zRet = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) if zRet != 0 { tcl.XTcl_SetResult(tls, interp, zRet, uintptr(0)) } @@ -51189,7 +51579,9 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } - zName16 = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) + zName16 = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) if zName16 != 0 { var n int32 var z uintptr = zName16 @@ -51232,7 +51624,9 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))))) return TCL_OK } @@ -52250,9 +52644,9 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 } zId = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aId)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fid int32 - _ [4]byte + FzName uintptr + Fid int32 + F__ccgo_pad1 [4]byte }{}))); i++ { if libc.Xstrcmp(tls, zId, aId[i].FzName) == 0 { id = aId[i].Fid @@ -52260,9 +52654,9 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 } } if uint64(i) >= (uint64(unsafe.Sizeof(aId)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fid int32 - _ [4]byte + FzName uintptr + Fid int32 + F__ccgo_pad1 [4]byte }{}))) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18301 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR @@ -52276,9 +52670,9 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 } var aId = [14]struct { - FzName uintptr - Fid int32 - _ [4]byte + FzName uintptr + Fid int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 18322 /* "SQLITE_LIMIT_LEN..." */}, {FzName: ts + 18342 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, @@ -52670,7 +53064,9 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 48 /* &cmdInfo */ + 8 /* &.objProc */))))(tls, (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjClientData, interp, (objc - 1), (objv + uintptr(1)*8)) + return (*struct { + f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjProc})).f(tls, (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjClientData, interp, (objc - 1), (objv + uintptr(1)*8)) } // WARNING: The following function, printExplainQueryPlan() is an exact @@ -52854,9 +53250,9 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } type Verb = struct { - FzName uintptr - Fi int32 - _ [4]byte + FzName uintptr + Fi int32 + F__ccgo_pad1 [4]byte } /* test1.c:7125:3 */ // Value to indicate that there is no limit. @@ -52997,9 +53393,9 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj } zOpt = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { - FzOptName uintptr - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{}))); i++ { if libc.Xstrcmp(tls, zOpt, aOpt[i].FzOptName) == 0 { mask = aOpt[i].Fmask @@ -53010,16 +53406,16 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj mask = ^mask } if uint64(i) >= (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { - FzOptName uintptr - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{}))) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19080, /* "unknown optimiza..." */ uintptr(0))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { - FzOptName uintptr - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{}))); i++ { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+4755 /* " " */, aOpt[i].FzOptName, uintptr(0))) } @@ -53030,9 +53426,9 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj } var aOpt = [13]struct { - FzOptName uintptr - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{ {FzOptName: ts + 19121 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, {FzOptName: ts + 19125 /* "none" */}, @@ -53088,7 +53484,9 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr return TCL_ERROR } if aExtension[i].FpInit != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aExtension)) + uintptr(i)*16 + 8 /* &.pInit */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), bp+72 /* &zErrMsg */, uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{aExtension[i].FpInit})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), bp+72 /* &zErrMsg */, uintptr(0)) } else { rc = SQLITE_OK } @@ -53419,18 +53817,18 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o zSetting += uintptr(7) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, zSetting, aSetting[i].FzName) == 0 { break } } if i >= (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte }{})))) { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+19538 /* "unknown sqlite3_..." */, -1)) @@ -53449,9 +53847,9 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o } var aSetting = [14]struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 19572 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, {FzName: ts + 19577 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, @@ -53577,7 +53975,9 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 aData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+16 /* &nData */) sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp+24 /* &pFile */) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)))).FpMethods + 24 /* &.xWrite */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)), aData, *(*int32)(unsafe.Pointer(bp + 16 /* nData */)), *(*Tcl_WideInt)(unsafe.Pointer(bp + 8 /* iOff */))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)))).FpMethods)).FxWrite})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)), aData, *(*int32)(unsafe.Pointer(bp + 16 /* nData */)), *(*Tcl_WideInt)(unsafe.Pointer(bp + 8 /* iOff */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_OK @@ -54962,7 +55362,7 @@ type MemPage1 = struct { FchildPtrSize u8 Fmax1bytePayload u8 FnOverflow u8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal u16 FminLocal u16 FcellOffset u16 @@ -54970,7 +55370,7 @@ type MemPage1 = struct { FnCell u16 FmaskPage u16 FaiOvfl [4]u16 - _ [4]byte + F__ccgo_pad2 [4]byte FapOvfl [4]uintptr FpBt uintptr FaData uintptr @@ -55219,11 +55619,11 @@ type MemPage1 = struct { // Forward declarations type MemPage = MemPage1 /* btreeInt.h:232:24 */ type BtLock1 = struct { - FpBtree uintptr - FiTable Pgno - FeLock u8 - _ [3]byte - FpNext uintptr + FpBtree uintptr + FiTable Pgno + FeLock u8 + F__ccgo_pad1 [3]byte + FpNext uintptr } /* btree.h:39:9 */ type BtLock = BtLock1 /* btreeInt.h:233:23 */ @@ -56231,7 +56631,7 @@ var aCmd3 = [14]struct { // Never include this file directly; use instead. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -56263,15 +56663,6 @@ var aCmd3 = [14]struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -56308,11 +56699,6 @@ var aCmd3 = [14]struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -56405,7 +56791,7 @@ type cpu_set_t = struct{ F__bits [16]uint64 } /* cpu-set.h:42:3 */ // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -56437,15 +56823,6 @@ type cpu_set_t = struct{ F__bits [16]uint64 } /* cpu-set.h:42:3 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -56482,11 +56859,6 @@ type cpu_set_t = struct{ F__bits [16]uint64 } /* cpu-set.h:42:3 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -56594,43 +56966,43 @@ type cpu_set_t = struct{ F__bits [16]uint64 } /* cpu-set.h:42:3 */ // These definitions from linux/timex.h as of 3.18. type timex = struct { - Fmodes uint32 - _ [4]byte - Foffset int64 - Ffreq int64 - Fmaxerror int64 - Festerror int64 - Fstatus int32 - _ [4]byte - Fconstant int64 - Fprecision int64 - Ftolerance int64 - Ftime struct { + Fmodes uint32 + F__ccgo_pad1 [4]byte + Foffset int64 + Ffreq int64 + Fmaxerror int64 + Festerror int64 + Fstatus int32 + F__ccgo_pad2 [4]byte + Fconstant int64 + Fprecision int64 + Ftolerance int64 + Ftime struct { Ftv_sec int64 Ftv_usec int64 } - Ftick int64 - Fppsfreq int64 - Fjitter int64 - Fshift int32 - _ [4]byte - Fstabil int64 - Fjitcnt int64 - Fcalcnt int64 - Ferrcnt int64 - Fstbcnt int64 - Ftai int32 - __164 uint32 /* int : 32 */ - __168 uint32 /* int : 32 */ - __172 uint32 /* int : 32 */ - __176 uint32 /* int : 32 */ - __180 uint32 /* int : 32 */ - __184 uint32 /* int : 32 */ - __188 uint32 /* int : 32 */ - __192 uint32 /* int : 32 */ - __196 uint32 /* int : 32 */ - __200 uint32 /* int : 32 */ - __204 uint32 /* int : 32 */ + Ftick int64 + Fppsfreq int64 + Fjitter int64 + Fshift int32 + F__ccgo_pad3 [4]byte + Fstabil int64 + Fjitcnt int64 + Fcalcnt int64 + Ferrcnt int64 + Fstbcnt int64 + Ftai int32 + __164 uint32 /* int : 32 */ + __168 uint32 /* int : 32 */ + __172 uint32 /* int : 32 */ + __176 uint32 /* int : 32 */ + __180 uint32 /* int : 32 */ + __184 uint32 /* int : 32 */ + __188 uint32 /* int : 32 */ + __192 uint32 /* int : 32 */ + __196 uint32 /* int : 32 */ + __200 uint32 /* int : 32 */ + __204 uint32 /* int : 32 */ } /* timex.h:26:1 */ // Endian macros for string.h functions @@ -56702,7 +57074,7 @@ type _pthread_cleanup_buffer = struct { F__routine uintptr F__arg uintptr F__canceltype int32 - _ [4]byte + F__ccgo_pad1 [4]byte F__prev uintptr } /* pthread.h:155:1 */ @@ -56719,21 +57091,21 @@ type __pthread_cleanup_frame = struct { // Each thread is controlled by an instance of the following // structure. type Thread = struct { - FzFilename uintptr - FxOp uintptr - FzArg uintptr - Fopnum int32 - Fbusy int32 - Fcompleted int32 - _ [4]byte - Fdb uintptr - FpStmt uintptr - FzErr uintptr - FzStaticErr uintptr - Frc int32 - Fargc int32 - Fargv [100]uintptr - Fcolv [100]uintptr + FzFilename uintptr + FxOp uintptr + FzArg uintptr + Fopnum int32 + Fbusy int32 + Fcompleted int32 + F__ccgo_pad1 [4]byte + Fdb uintptr + FpStmt uintptr + FzErr uintptr + FzStaticErr uintptr + Frc int32 + Fargc int32 + Fargv [100]uintptr + Fcolv [100]uintptr } /* test4.c:33:23 */ // There can be as many as 26 threads running at once. Each is named @@ -56755,17 +57127,17 @@ func test_thread_main(tls *libc.TLS, pArg uintptr) uintptr { /* test4.c:67:13: * (*Thread)(unsafe.Pointer(p)).FpStmt = uintptr(0) (*Thread)(unsafe.Pointer(p)).Fcompleted = 1 for (*Thread)(unsafe.Pointer(p)).Fopnum <= (*Thread)(unsafe.Pointer(p)).Fcompleted { - libc2.Xsched_yield(tls) + libc.Xsched_yield(tls) } for (*Thread)(unsafe.Pointer(p)).FxOp != 0 { if ((*Thread)(unsafe.Pointer(p)).FzErr != 0) && ((*Thread)(unsafe.Pointer(p)).FzErr != (*Thread)(unsafe.Pointer(p)).FzStaticErr) { sqlite3.Xsqlite3_free(tls, (*Thread)(unsafe.Pointer(p)).FzErr) (*Thread)(unsafe.Pointer(p)).FzErr = uintptr(0) } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 8 /* &.xOp */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Thread)(unsafe.Pointer(p)).FxOp})).f(tls, p) (*Thread)(unsafe.Pointer(p)).Fcompleted++ for (*Thread)(unsafe.Pointer(p)).Fopnum <= (*Thread)(unsafe.Pointer(p)).Fcompleted { - libc2.Xsched_yield(tls) + libc.Xsched_yield(tls) } } if (*Thread)(unsafe.Pointer(p)).FpStmt != 0 { @@ -56830,7 +57202,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset[i].FzFilename = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) threadset[i].Fopnum = 1 threadset[i].Fcompleted = 0 - rc = libc2.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{test_thread_main})), (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if rc != 0 { @@ -56839,14 +57211,14 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset[i].Fbusy = 0 return TCL_ERROR } - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) return TCL_OK } // Wait for a thread to reach its idle state. func test_thread_wait(tls *libc.TLS, p uintptr) { /* test4.c:168:13: */ for (*Thread)(unsafe.Pointer(p)).Fopnum > (*Thread)(unsafe.Pointer(p)).Fcompleted { - libc2.Xsched_yield(tls) + libc.Xsched_yield(tls) } } @@ -57518,9 +57890,9 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } type EncName = struct { - FzName uintptr - Fenc u8 - _ [7]byte + FzName uintptr + Fenc u8 + F__ccgo_pad1 [7]byte } /* test5.c:95:3 */ // Usage: test_translate ?? @@ -57626,15 +57998,15 @@ var aCmd5 = [4]struct { // #define TRACE_CRASHTEST type CrashFile1 = struct { - FpMethod uintptr - FpRealFile uintptr - FzName uintptr - Fflags int32 - _ [4]byte - FzData uintptr - FnData int32 - _ [4]byte - FiSize i64 + FpMethod uintptr + FpRealFile uintptr + FzName uintptr + Fflags int32 + F__ccgo_pad1 [4]byte + FzData uintptr + FnData int32 + F__ccgo_pad2 [4]byte + FiSize i64 } /* test6.c:29:9 */ // end block for C++ @@ -57659,12 +58031,12 @@ type CrashGlobal1 = struct { type CrashGlobal = CrashGlobal1 /* test6.c:30:28 */ type WriteBuffer1 = struct { - FiOffset i64 - FnBuf int32 - _ [4]byte - FzBuf uintptr - FpFile uintptr - FpNext uintptr + FiOffset i64 + FnBuf int32 + F__ccgo_pad1 [4]byte + FzBuf uintptr + FpFile uintptr + FpNext uintptr } /* test6.c:30:9 */ type WriteBuffer = WriteBuffer1 /* test6.c:31:28 */ @@ -58023,22 +58395,28 @@ func cfDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test6.c:54 // Pass-throughs for WAL support. func cfShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* test6.c:552:12: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 112 /* &.xShmLock */))))(tls, pReal, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmLock})).f(tls, pReal, ofst, n, flags) } func cfShmBarrier(tls *libc.TLS, pFile uintptr) { /* test6.c:556:13: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmBarrier})).f(tls, pReal) } func cfShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* test6.c:560:12: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pReal, delFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmUnmap})).f(tls, pReal, delFlag) } func cfShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, sz int32, w int32, pp uintptr) int32 { /* test6.c:564:12: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 104 /* &.xShmMap */))))(tls, pReal, iRegion, sz, w, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmMap})).f(tls, pReal, iRegion, sz, w, pp) } var CrashFileVtab = sqlite3_io_methods{ @@ -58126,57 +58504,79 @@ func cfOpen(tls *libc.TLS, pCfVfs uintptr, zName uintptr, pFile uintptr, flags i func cfDelete(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test6.c:665:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync) } func cfAccess(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* test6.c:669:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut) } func cfFullPathname(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* test6.c:678:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut) } func cfDlOpen(tls *libc.TLS, pCfVfs uintptr, zPath uintptr) uintptr { /* test6.c:687:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath) } func cfDlError(tls *libc.TLS, pCfVfs uintptr, nByte int32, zErrMsg uintptr) { /* test6.c:691:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zErrMsg) } func cfDlSym(tls *libc.TLS, pCfVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* test6.c:695:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pH, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pH, zSym) } func cfDlClose(tls *libc.TLS, pCfVfs uintptr, pHandle uintptr) { /* test6.c:699:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle) } func cfRandomness(tls *libc.TLS, pCfVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* test6.c:703:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 104 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut) } func cfSleep(tls *libc.TLS, pCfVfs uintptr, nMicro int32) int32 { /* test6.c:707:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro) } func cfCurrentTime(tls *libc.TLS, pCfVfs uintptr, pTimeOut uintptr) int32 { /* test6.c:711:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, pTimeOut) } func cfGetLastError(tls *libc.TLS, pCfVfs uintptr, n int32, z uintptr) int32 { /* test6.c:715:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, n, z) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, n, z) } func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, piDeviceChar uintptr, piSectorSize uintptr) int32 { /* test6.c:720:12: */ @@ -58273,9 +58673,9 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, } type DeviceFlag = struct { - FzName uintptr - FiValue int32 - _ [4]byte + FzName uintptr + FiValue int32 + F__ccgo_pad1 [4]byte } /* test6.c:727:3 */ // tclcmd: sqlite3_crash_now @@ -58558,23 +58958,23 @@ func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: // Each thread is controlled by an instance of the following // structure. type Thread1 = struct { - FzFilename uintptr - FxOp uintptr - FzArg uintptr - Fopnum int32 - Fbusy int32 - Fcompleted int32 - _ [4]byte - Fdb uintptr - FpStmt uintptr - FzErr uintptr - FzStaticErr uintptr - Frc int32 - Fargc int32 - Fargv [100]uintptr - Fcolv [100]uintptr - FnServer int32 - _ [4]byte + FzFilename uintptr + FxOp uintptr + FzArg uintptr + Fopnum int32 + Fbusy int32 + Fcompleted int32 + F__ccgo_pad1 [4]byte + Fdb uintptr + FpStmt uintptr + FzErr uintptr + FzStaticErr uintptr + Frc int32 + Fargc int32 + Fargv [100]uintptr + Fcolv [100]uintptr + FnServer int32 + F__ccgo_pad2 [4]byte } /* test7.c:53:23 */ // There can be as many as 26 threads running at once. Each is named @@ -58596,17 +58996,17 @@ func client_main(tls *libc.TLS, pArg uintptr) uintptr { /* test7.c:95:13: */ (*Thread1)(unsafe.Pointer(p)).FpStmt = uintptr(0) (*Thread1)(unsafe.Pointer(p)).Fcompleted = 1 for (*Thread1)(unsafe.Pointer(p)).Fopnum <= (*Thread1)(unsafe.Pointer(p)).Fcompleted { - libc2.Xsched_yield(tls) + libc.Xsched_yield(tls) } for (*Thread1)(unsafe.Pointer(p)).FxOp != 0 { if ((*Thread1)(unsafe.Pointer(p)).FzErr != 0) && ((*Thread1)(unsafe.Pointer(p)).FzErr != (*Thread1)(unsafe.Pointer(p)).FzStaticErr) { sqlite3.Xsqlite3_free(tls, (*Thread1)(unsafe.Pointer(p)).FzErr) (*Thread1)(unsafe.Pointer(p)).FzErr = uintptr(0) } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 8 /* &.xOp */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Thread1)(unsafe.Pointer(p)).FxOp})).f(tls, p) (*Thread1)(unsafe.Pointer(p)).Fcompleted++ for (*Thread1)(unsafe.Pointer(p)).Fopnum <= (*Thread1)(unsafe.Pointer(p)).Fcompleted { - libc2.Xsched_yield(tls) + libc.Xsched_yield(tls) } } if (*Thread1)(unsafe.Pointer(p)).FpStmt != 0 { @@ -58671,7 +59071,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset1[i].FzFilename = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) threadset1[i].Fopnum = 1 threadset1[i].Fcompleted = 0 - rc = libc2.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{client_main})), (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if rc != 0 { @@ -58680,7 +59080,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset1[i].Fbusy = 0 return TCL_ERROR } - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) if threadset1[i].FnServer == 0 { threadset1[i].FnServer = 1 sqlite3_server_start2(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 1680 /* &.nServer */)) @@ -58691,7 +59091,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // Wait for a thread to reach its idle state. func client_wait(tls *libc.TLS, p uintptr) { /* test7.c:200:13: */ for (*Thread1)(unsafe.Pointer(p)).Fopnum > (*Thread1)(unsafe.Pointer(p)).Fcompleted { - libc2.Xsched_yield(tls) + libc.Xsched_yield(tls) } } @@ -58778,7 +59178,7 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, if i == N_THREAD { break } - libc2.Xsched_yield(tls) + libc.Xsched_yield(tls) } } return TCL_OK @@ -59240,7 +59640,7 @@ type echo_vtab1 = struct { FzTableName uintptr FzLogName uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaIndex uintptr FaCol uintptr } /* test8.c:27:9 */ @@ -62656,7 +63056,7 @@ type DevsymGlobal = struct { FiDeviceChar int32 FiSectorSize int32 FnWriteCrash int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* test_devsym.c:76:1 */ var g1 = DevsymGlobal{FiSectorSize: 512} /* test_devsym.c:82:21 */ @@ -62735,22 +63135,28 @@ func devsymDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test_d // Shared-memory methods are all pass-thrus. func devsymShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* test_devsym.c:192:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) } func devsymShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* test_devsym.c:196:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) } func devsymShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_devsym.c:206:13: */ var p uintptr = pFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal) } func devsymShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* test_devsym.c:210:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, delFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, delFlag) } // Open an devsym file handle. @@ -62819,7 +63225,9 @@ func devsymSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_devs // Return the current time as a Julian Day number in *pTimeOut. func devsymCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_devsym.c:344:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((g1.FpVfs + 120 /* &.xCurrentTime */))))(tls, g1.FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g1.FpVfs)).FxCurrentTime})).f(tls, g1.FpVfs, pTimeOut) } // Return the sector-size in bytes for an writecrash-file. @@ -62952,7 +63360,7 @@ func devsym_crash_on_write(tls *libc.TLS, nWrite int32) { /* test_devsym.c:514:6 // The next short section of defines are only done when not running on Windows // or some other strange platform. -type Tcl_StatBuf = stat /* tcl.h:474:25 */ +type Tcl_StatBuf = stat /* tcl.h:470:25 */ // Note stat64 is the same shape as stat. type stat64 = struct { @@ -63072,13 +63480,13 @@ type statx = struct { } /* stat.h:99:1 */ type flock64 = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start int64 - Fl_len int64 - Fl_pid int32 - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start int64 + Fl_len int64 + Fl_pid int32 + F__ccgo_pad2 [4]byte } /* fcntl.h:52:1 */ // Include generic Linux declarations. @@ -63131,7 +63539,7 @@ type flock64 = struct { // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -63163,15 +63571,6 @@ type flock64 = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -63208,11 +63607,6 @@ type flock64 = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -63308,18 +63702,18 @@ type f_owner_ex = struct { // File handle structure. type file_handle = struct { - _ [0]uint32 + F__ccgo_pad1 [0]uint32 Fhandle_bytes uint32 Fhandle_type int32 } /* fcntl-linux.h:357:1 */ type dirent64 = struct { - Fd_ino uint64 - Fd_off int64 - Fd_reclen uint16 - Fd_type uint8 - Fd_name [256]uint8 - _ [5]byte + Fd_ino uint64 + Fd_off int64 + Fd_reclen uint16 + Fd_type uint8 + Fd_name [256]uint8 + F__ccgo_pad1 [5]byte } /* dirent.h:37:1 */ type fs_vtab1 = struct { @@ -63544,10 +63938,10 @@ type FstreeVtab1 = struct { // Start of fstree implementation. type FstreeVtab = FstreeVtab1 /* test_fs.c:328:27 */ type FstreeCsr1 = struct { - Fbase sqlite3_vtab_cursor - FpStmt uintptr - Ffd int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + FpStmt uintptr + Ffd int32 + F__ccgo_pad1 [4]byte } /* test_fs.c:329:9 */ type FstreeCsr = FstreeCsr1 /* test_fs.c:329:26 */ @@ -64626,11 +65020,11 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aFuncs)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FnArg int8 - _ [3]byte - FeTextRep uint32 - FxFunc uintptr + FzName uintptr + FnArg int8 + F__ccgo_pad1 [3]byte + FeTextRep uint32 + FxFunc uintptr }{}))); i++ { sqlite3.Xsqlite3_create_function(tls, db, aFuncs[i].FzName, int32(aFuncs[i].FnArg), int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) @@ -64645,11 +65039,11 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u } var aFuncs = [20]struct { - FzName uintptr - FnArg int8 - _ [3]byte - FeTextRep uint32 - FxFunc uintptr + FzName uintptr + FnArg int8 + F__ccgo_pad1 [3]byte + FeTextRep uint32 + FxFunc uintptr }{ {FzName: ts + 31427 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, {FzName: ts + 31435 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, @@ -65578,7 +65972,9 @@ func wrMemInit(tls *libc.TLS, pAppData uintptr) int32 { /* test_init.c:49:12: */ if wrapped.Fmem_fail != 0 { rc = SQLITE_ERROR } else { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 40 /* &.xInit */))))(tls, wrapped.Fmem.FpAppData) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxInit})).f(tls, wrapped.Fmem.FpAppData) } if rc == SQLITE_OK { wrapped.Fmem_init = 1 @@ -65587,28 +65983,34 @@ func wrMemInit(tls *libc.TLS, pAppData uintptr) int32 { /* test_init.c:49:12: */ } func wrMemShutdown(tls *libc.TLS, pAppData uintptr) { /* test_init.c:61:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 48 /* &.xShutdown */))))(tls, wrapped.Fmem.FpAppData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxShutdown})).f(tls, wrapped.Fmem.FpAppData) wrapped.Fmem_init = 0 } func wrMemMalloc(tls *libc.TLS, n int32) uintptr { /* test_init.c:65:13: */ - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ /* &.xMalloc */))))(tls, n) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxMalloc})).f(tls, n) } func wrMemFree(tls *libc.TLS, p uintptr) { /* test_init.c:66:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxFree})).f(tls, p) } func wrMemRealloc(tls *libc.TLS, p uintptr, n int32) uintptr { /* test_init.c:67:13: */ - return (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 16 /* &.xRealloc */))))(tls, p, n) + return (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxRealloc})).f(tls, p, n) } func wrMemSize(tls *libc.TLS, p uintptr) int32 { /* test_init.c:68:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxSize})).f(tls, p) } func wrMemRoundup(tls *libc.TLS, n int32) int32 { /* test_init.c:69:12: */ - return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 32 /* &.xRoundup */))))(tls, n) + return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxRoundup})).f(tls, n) } func wrMutexInit(tls *libc.TLS) int32 { /* test_init.c:72:12: */ @@ -65616,7 +66018,7 @@ func wrMutexInit(tls *libc.TLS) int32 { /* test_init.c:72:12: */ if wrapped.Fmutex_fail != 0 { rc = SQLITE_ERROR } else { - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexInit})).f(tls) } if rc == SQLITE_OK { wrapped.Fmutex_init = 1 @@ -65625,37 +66027,45 @@ func wrMutexInit(tls *libc.TLS) int32 { /* test_init.c:72:12: */ } func wrMutexEnd(tls *libc.TLS) int32 { /* test_init.c:84:12: */ - (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 8 /* &.xMutexEnd */))))(tls) + (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexEnd})).f(tls) wrapped.Fmutex_init = 0 return SQLITE_OK } func wrMutexAlloc(tls *libc.TLS, e int32) uintptr { /* test_init.c:89:22: */ - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, e) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexAlloc})).f(tls, e) } func wrMutexFree(tls *libc.TLS, p uintptr) { /* test_init.c:92:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 24 /* &.xMutexFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexFree})).f(tls, p) } func wrMutexEnter(tls *libc.TLS, p uintptr) { /* test_init.c:95:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 32 /* &.xMutexEnter */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexEnter})).f(tls, p) } func wrMutexTry(tls *libc.TLS, p uintptr) int32 { /* test_init.c:98:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 40 /* &.xMutexTry */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexTry})).f(tls, p) } func wrMutexLeave(tls *libc.TLS, p uintptr) { /* test_init.c:101:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 48 /* &.xMutexLeave */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexLeave})).f(tls, p) } func wrMutexHeld(tls *libc.TLS, p uintptr) int32 { /* test_init.c:104:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 56 /* &.xMutexHeld */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexHeld})).f(tls, p) } func wrMutexNotheld(tls *libc.TLS, p uintptr) int32 { /* test_init.c:107:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 64 /* &.xMutexNotheld */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexNotheld})).f(tls, p) } func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 { /* test_init.c:113:12: */ @@ -65663,7 +66073,9 @@ func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 { /* test_init.c:113:12: */ if wrapped.Fpcache_fail != 0 { rc = SQLITE_ERROR } else { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 16 /* &.xInit */))))(tls, wrapped.Fpcache.FpArg) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxInit})).f(tls, wrapped.Fpcache.FpArg) } if rc == SQLITE_OK { wrapped.Fpcache_init = 1 @@ -65672,40 +66084,54 @@ func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 { /* test_init.c:113:12: */ } func wrPCacheShutdown(tls *libc.TLS, pArg uintptr) { /* test_init.c:125:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 24 /* &.xShutdown */))))(tls, wrapped.Fpcache.FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxShutdown})).f(tls, wrapped.Fpcache.FpArg) wrapped.Fpcache_init = 0 } func wrPCacheCreate(tls *libc.TLS, a int32, b int32, c int32) uintptr { /* test_init.c:130:23: */ - return (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 32 /* &.xCreate */))))(tls, a, b, c) + return (*struct { + f func(*libc.TLS, int32, int32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxCreate})).f(tls, a, b, c) } func wrPCacheCachesize(tls *libc.TLS, p uintptr, n int32) { /* test_init.c:133:13: */ - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 40 /* &.xCachesize */))))(tls, p, n) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxCachesize})).f(tls, p, n) } func wrPCachePagecount(tls *libc.TLS, p uintptr) int32 { /* test_init.c:136:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 48 /* &.xPagecount */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxPagecount})).f(tls, p) } func wrPCacheFetch(tls *libc.TLS, p uintptr, a uint32, b int32) uintptr { /* test_init.c:139:28: */ - return (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 56 /* &.xFetch */))))(tls, p, a, b) + return (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxFetch})).f(tls, p, a, b) } func wrPCacheUnpin(tls *libc.TLS, p uintptr, a uintptr, b int32) { /* test_init.c:142:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 64 /* &.xUnpin */))))(tls, p, a, b) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxUnpin})).f(tls, p, a, b) } func wrPCacheRekey(tls *libc.TLS, p uintptr, a uintptr, b uint32, c uint32) { /* test_init.c:145:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 72 /* &.xRekey */))))(tls, p, a, b, c) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uint32, uint32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxRekey})).f(tls, p, a, b, c) } func wrPCacheTruncate(tls *libc.TLS, p uintptr, a uint32) { /* test_init.c:153:13: */ - (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 80 /* &.xTruncate */))))(tls, p, a) + (*struct { + f func(*libc.TLS, uintptr, uint32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxTruncate})).f(tls, p, a) } func wrPCacheDestroy(tls *libc.TLS, p uintptr) { /* test_init.c:156:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 88 /* &.xDestroy */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxDestroy})).f(tls, p) } func installInitWrappers(tls *libc.TLS) { /* test_init.c:160:13: */ @@ -65880,10 +66306,10 @@ var aObjCmd9 = [4]struct { // An sqlite3_intarray is an abstract type to stores an instance of // an integer array. type sqlite3_intarray1 = struct { - Fn int32 - _ [4]byte - Fa uintptr - FxFree uintptr + Fn int32 + F__ccgo_pad1 [4]byte + Fa uintptr + FxFree uintptr } /* test_intarray.h:99:9 */ // @@ -65907,9 +66333,9 @@ type intarray_vtab1 = struct { // Objects used internally by the virtual table implementation type intarray_vtab = intarray_vtab1 /* test_intarray.c:41:30 */ type intarray_cursor1 = struct { - Fbase sqlite3_vtab_cursor - Fi int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + Fi int32 + F__ccgo_pad1 [4]byte } /* test_intarray.c:42:9 */ type intarray_cursor = intarray_cursor1 /* test_intarray.c:42:32 */ @@ -65919,7 +66345,7 @@ type intarray_cursor = intarray_cursor1 /* test_intarray.c:42:32 */ // Free an sqlite3_intarray object. func intarrayFree(tls *libc.TLS, p uintptr) { /* test_intarray.c:64:13: */ if (*sqlite3_intarray)(unsafe.Pointer(p)).FxFree != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 16 /* &.xFree */))))(tls, (*sqlite3_intarray)(unsafe.Pointer(p)).Fa) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_intarray)(unsafe.Pointer(p)).FxFree})).f(tls, (*sqlite3_intarray)(unsafe.Pointer(p)).Fa) } sqlite3.Xsqlite3_free(tls, p) } @@ -66064,7 +66490,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn // array does change or is deallocated undefined behavior will result. func sqlite3_intarray_bind(tls *libc.TLS, pIntArray uintptr, nElements int32, aElements uintptr, xFree uintptr) int32 { /* test_intarray.c:257:16: */ if (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).FxFree != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pIntArray + 16 /* &.xFree */))))(tls, (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_intarray)(unsafe.Pointer(pIntArray)).FxFree})).f(tls, (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa) } (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fn = nElements (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa = aElements @@ -66171,19 +66597,19 @@ var aObjCmd10 = [2]struct { // Name used to identify this VFS. type jt_file1 = struct { - Fbase sqlite3_file - FzName uintptr - Fflags int32 - FeLock int32 - FnPage u32 - FnPagesize u32 - FpWritable uintptr - FaCksum uintptr - FnSync int32 - _ [4]byte - FiMaxOff sqlite3_int64 - FpNext uintptr - FpReal uintptr + Fbase sqlite3_file + FzName uintptr + Fflags int32 + FeLock int32 + FnPage u32 + FnPagesize u32 + FpWritable uintptr + FaCksum uintptr + FnSync int32 + F__ccgo_pad1 [4]byte + FiMaxOff sqlite3_int64 + FpNext uintptr + FpReal uintptr } /* test_journal.c:111:9 */ // Maximum pathname length supported by the jt backend. @@ -66728,7 +67154,9 @@ func jtCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { // File control method. For custom operations on an jt-file. func jtFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* test_journal.c:672:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*jt_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, op, pArg) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*jt_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl})).f(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, op, pArg) } // Return the sector-size in bytes for an jt-file. @@ -66801,24 +67229,32 @@ func jtFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut // Open the dynamic library located at zPath and return a handle. func jtDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_journal.c:776:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((g2.FpVfs + 72 /* &.xDlOpen */))))(tls, g2.FpVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlOpen})).f(tls, g2.FpVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func jtDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_journal.c:785:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((g2.FpVfs + 80 /* &.xDlError */))))(tls, g2.FpVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlError})).f(tls, g2.FpVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func jtDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* test_journal.c:792:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((g2.FpVfs + 88 /* &.xDlSym */))))(tls, g2.FpVfs, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlSym})).f(tls, g2.FpVfs, p, zSym) } // Close the dynamic library handle pHandle. func jtDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* test_journal.c:799:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((g2.FpVfs + 96 /* &.xDlClose */))))(tls, g2.FpVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlClose})).f(tls, g2.FpVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of @@ -66835,16 +67271,22 @@ func jtSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_journal. // Return the current time as a Julian Day number in *pTimeOut. func jtCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_journal.c:822:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((g2.FpVfs + 120 /* &.xCurrentTime */))))(tls, g2.FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxCurrentTime})).f(tls, g2.FpVfs, pTimeOut) } // Return the current time as a Julian Day number in *pTimeOut. func jtCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_journal.c:828:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((g2.FpVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, g2.FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxCurrentTimeInt64})).f(tls, g2.FpVfs, pTimeOut) } func jtGetLastError(tls *libc.TLS, pVfs uintptr, n int32, z uintptr) int32 { /* test_journal.c:832:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((g2.FpVfs + 128 /* &.xGetLastError */))))(tls, g2.FpVfs, n, z) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxGetLastError})).f(tls, g2.FpVfs, n, z) } // ************************************************************************* @@ -66978,10 +67420,10 @@ type MemFault = struct { FnOkBefore int32 FnOkAfter int32 Fenable u8 - _ [3]byte + F__ccgo_pad1 [3]byte FisInstalled int32 FisBenignMode int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fm sqlite3_mem_methods } /* test_malloc.c:30:8 */ @@ -67131,7 +67573,9 @@ func faultsimStep(tls *libc.TLS) int32 { /* test_malloc.c:67:12: */ func faultsimMalloc(tls *libc.TLS, n int32) uintptr { /* test_malloc.c:94:13: */ var p uintptr = uintptr(0) if !(faultsimStep(tls) != 0) { - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&memfault)) + 40 /* &.m */ /* &.xMalloc */))))(tls, n) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{memfault.Fm.FxMalloc})).f(tls, n) } return p } @@ -67141,7 +67585,9 @@ func faultsimMalloc(tls *libc.TLS, n int32) uintptr { /* test_malloc.c:94:13: */ func faultsimRealloc(tls *libc.TLS, pOld uintptr, n int32) uintptr { /* test_malloc.c:107:13: */ var p uintptr = uintptr(0) if !(faultsimStep(tls) != 0) { - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&memfault)) + 40 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, n) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{memfault.Fm.FxRealloc})).f(tls, pOld, n) } return p } @@ -68233,9 +68679,9 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp1)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, aOp1[i].FzName, zOpName) == 0 { *(*int32)(unsafe.Pointer(bp /* op */)) = aOp1[i].Fop @@ -68243,9 +68689,9 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } } if i >= (int32(uint64(unsafe.Sizeof(aOp1)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))) { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &op */) != 0 { return TCL_ERROR @@ -68266,9 +68712,9 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } var aOp1 = [10]struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 33536 /* "SQLITE_STATUS_ME..." */}, {FzName: ts + 33562 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, @@ -68318,9 +68764,9 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 zOpName += uintptr(9) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, aOp2[i].FzName, zOpName) == 0 { *(*int32)(unsafe.Pointer(bp + 8 /* op */)) = aOp2[i].Fop @@ -68328,9 +68774,9 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 } } if i >= (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))) { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8 /* &op */) != 0 { return TCL_ERROR @@ -68351,9 +68797,9 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 } var aOp2 = [13]struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 33859 /* "LOOKASIDE_USED" */}, {FzName: ts + 33874 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, @@ -68420,10 +68866,10 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i func Sqlitetest_malloc_Init(tls *libc.TLS, interp uintptr) int32 { /* test_malloc.c:1467:5: */ var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aObjCmd11)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{}))); i++ { var c ClientData = uintptr(intptr_t(aObjCmd11[i].FclientData)) tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd11[i].FzName, aObjCmd11[i].FxProc, c, uintptr(0)) @@ -68432,10 +68878,10 @@ func Sqlitetest_malloc_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mallo } var aObjCmd11 = [32]struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 28381 /* "sqlite3_malloc" */, FxProc: 0}, {FzName: ts + 28396 /* "sqlite3_realloc" */, FxProc: 0}, @@ -68906,7 +69352,9 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr MD5Update(tls, bp+48 /* &ctx */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) MD5Final(tls, bp+140 /* &digest[0] */, bp+48 /* &ctx */) converter = cd - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+140 /* &digest[0] */, bp+156 /* &zBuf[0] */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{converter})).f(tls, bp+140 /* &digest[0] */, bp+156 /* &zBuf[0] */) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+156 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -68964,7 +69412,9 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin libc.Xfclose(tls, in) MD5Final(tls, bp+10412 /* &digest[0] */, bp+80 /* &ctx */) converter = cd - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+10412 /* &digest[0] */, bp+172 /* &zBuf[0] */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{converter})).f(tls, bp+10412 /* &digest[0] */, bp+172 /* &zBuf[0] */) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+172 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -69084,16 +69534,16 @@ func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) i // Forward declaration of all object types type multiplexGroup1 = struct { - FaReal uintptr - FnReal int32 - _ [4]byte - FzName uintptr - FnName int32 - Fflags int32 - FszChunk uint32 - FbEnabled uint8 - FbTruncate uint8 - _ [2]byte + FaReal uintptr + FnReal int32 + F__ccgo_pad1 [4]byte + FzName uintptr + FnName int32 + Fflags int32 + FszChunk uint32 + FbEnabled uint8 + FbTruncate uint8 + F__ccgo_pad2 [2]byte } /* test_multiplex.c:106:9 */ // The following macros redefine the API routines so that they are @@ -69161,7 +69611,7 @@ var gMultiplex struct { FsIoMethodsV1 sqlite3_io_methods FsIoMethodsV2 sqlite3_io_methods FisInitialized int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* test_multiplex.c:176:3: */ //************************ Utility Routines ******************************** @@ -69274,7 +69724,9 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p } else if (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz == uintptr(0) { return uintptr(0) } else { - *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, + *(*int32)(unsafe.Pointer(rc)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { @@ -69291,7 +69743,9 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p return uintptr(0) } (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = pSubOpen - *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, pSubOpen, + *(*int32)(unsafe.Pointer(rc)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, pSubOpen, flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34844, /* "multiplexor.xOpe..." */ @@ -69321,7 +69775,9 @@ func multiplexSubSize(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr) s if pSub == uintptr(0) { return int64(0) } - *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSub)).FpMethods + 48 /* &.xFileSize */))))(tls, pSub, bp /* &sz */) + *(*int32)(unsafe.Pointer(rc)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSub)).FpMethods)).FxFileSize})).f(tls, pSub, bp /* &sz */) return *(*sqlite3_int64)(unsafe.Pointer(bp /* sz */)) } @@ -69381,9 +69837,13 @@ func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr func multiplexSubClose(tls *libc.TLS, pGroup uintptr, iChunk int32, pOrigVfs uintptr) { /* test_multiplex.c:431:13: */ var pSubOpen uintptr = (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp if pSubOpen != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 8 /* &.xClose */))))(tls, pSubOpen) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen) if (pOrigVfs != 0) && ((*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz != 0) { - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) } sqlite3.Xsqlite3_free(tls, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fp) } @@ -69482,7 +69942,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl if *(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK { // var sz64 sqlite3_int64 at bp+8, 8 - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 48 /* &.xFileSize */))))(tls, pSubOpen, bp+8 /* &sz64 */) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, bp+8 /* &sz64 */) if (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (zName != 0) { // var bExists int32 at bp+16, 4 @@ -69495,10 +69957,14 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl // file-system. var iChunk int32 = 1 for ok := true; ok; ok = ((*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0)) { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) if *(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp /* rc */)) = multiplexSubFilename(tls, pGroup, libc.PreIncInt32(&iChunk, 1)) } @@ -69514,7 +69980,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl // larger than the chunk size, that means the chunk size is too small. // But we have no way of determining the intended chunk size, so // just disable the multiplexor all togethre. - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+1*16)).Fz, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+1*16)).Fz, SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) *(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) = (libc.Bool32(multiplexSubSize(tls, pGroup, 1, bp /* &rc */) > int64(0))) if ((((*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0)) && (*(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* sz64 */)) == (*(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* sz64 */)) & int64(0xffff0000)))) && (*(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* sz64 */)) > int64(0))) && @@ -69550,7 +70018,9 @@ func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) var rc int32 var pOrigVfs uintptr = gMultiplex.FpOrigVfs // Real VFS - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, zName, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, zName, syncDir) if rc == SQLITE_OK { // If the main chunk was deleted successfully, also delete any subsequent // chunks - starting with the last (highest numbered). @@ -69565,21 +70035,29 @@ func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) for ok := true; ok; ok = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp /* bExists */)) != 0)) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_MAIN_JOURNAL, libc.PreIncInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) } for (rc == SQLITE_OK) && (iChunk > 1) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_MAIN_JOURNAL, libc.PreDecInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, z, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, z, syncDir) } if rc == SQLITE_OK { iChunk = 0 for ok1 := true; ok1; ok1 = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp /* bExists */)) != 0)) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_WAL, libc.PreIncInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) } for (rc == SQLITE_OK) && (iChunk > 1) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_WAL, libc.PreDecInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, z, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, z, syncDir) } } } @@ -69589,44 +70067,64 @@ func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) } func multiplexAccess(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 { /* test_multiplex.c:656:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 56 /* &.xAccess */))))(tls, gMultiplex.FpOrigVfs, b, c, d) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxAccess})).f(tls, gMultiplex.FpOrigVfs, b, c, d) } func multiplexFullPathname(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 { /* test_multiplex.c:659:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gMultiplex.FpOrigVfs, b, c, d) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxFullPathname})).f(tls, gMultiplex.FpOrigVfs, b, c, d) } func multiplexDlOpen(tls *libc.TLS, a uintptr, b uintptr) uintptr { /* test_multiplex.c:662:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((gMultiplex.FpOrigVfs + 72 /* &.xDlOpen */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlOpen})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexDlError(tls *libc.TLS, a uintptr, b int32, c uintptr) { /* test_multiplex.c:665:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((gMultiplex.FpOrigVfs + 80 /* &.xDlError */))))(tls, gMultiplex.FpOrigVfs, b, c) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlError})).f(tls, gMultiplex.FpOrigVfs, b, c) } func multiplexDlSym(tls *libc.TLS, a uintptr, b uintptr, c uintptr) uintptr { /* test_multiplex.c:668:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((gMultiplex.FpOrigVfs + 88 /* &.xDlSym */))))(tls, gMultiplex.FpOrigVfs, b, c) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlSym})).f(tls, gMultiplex.FpOrigVfs, b, c) } func multiplexDlClose(tls *libc.TLS, a uintptr, b uintptr) { /* test_multiplex.c:671:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((gMultiplex.FpOrigVfs + 96 /* &.xDlClose */))))(tls, gMultiplex.FpOrigVfs, b) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlClose})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexRandomness(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { /* test_multiplex.c:674:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 104 /* &.xRandomness */))))(tls, gMultiplex.FpOrigVfs, b, c) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxRandomness})).f(tls, gMultiplex.FpOrigVfs, b, c) } func multiplexSleep(tls *libc.TLS, a uintptr, b int32) int32 { /* test_multiplex.c:677:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 112 /* &.xSleep */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxSleep})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexCurrentTime(tls *libc.TLS, a uintptr, b uintptr) int32 { /* test_multiplex.c:680:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 120 /* &.xCurrentTime */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxCurrentTime})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexGetLastError(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { /* test_multiplex.c:683:12: */ if (*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxGetLastError != 0 { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 128 /* &.xGetLastError */))))(tls, gMultiplex.FpOrigVfs, b, c) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxGetLastError})).f(tls, gMultiplex.FpOrigVfs, b, c) } else { return 0 } @@ -69634,7 +70132,9 @@ func multiplexGetLastError(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { } func multiplexCurrentTimeInt64(tls *libc.TLS, a uintptr, b uintptr) int32 { /* test_multiplex.c:690:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxCurrentTimeInt64})).f(tls, gMultiplex.FpOrigVfs, b) } //*********************** I/O Method Wrappers ****************************** @@ -69667,7 +70167,9 @@ func multiplexRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(1) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 16 /* &.xRead */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } } else { for iAmt > 0 { @@ -69680,7 +70182,9 @@ func multiplexRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst extra = 0 } iAmt = iAmt - (extra) - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 16 /* &.xRead */))))(tls, pSubOpen, pBuf, iAmt, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, (iOfst % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { break @@ -69713,7 +70217,9 @@ func multiplexWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfs if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(3) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 24 /* &.xWrite */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } } else { for (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (iAmt > 0) { @@ -69725,7 +70231,9 @@ func multiplexWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfs extra = 0 } iAmt = iAmt - (extra) - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 24 /* &.xWrite */))))(tls, pSubOpen, pBuf, iAmt, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, (iOfst % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) pBuf = (pBuf + uintptr(iAmt)) iOfst = iOfst + (sqlite3_int64(iAmt)) @@ -69751,7 +70259,9 @@ func multiplexTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(6) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, size) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, size) } } else { var i int32 @@ -69765,14 +70275,18 @@ func multiplexTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { } else { pSubOpen = multiplexSubOpen(tls, pGroup, i, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, int64(0)) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, int64(0)) } } } if *(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK { pSubOpen = multiplexSubOpen(tls, pGroup, iBaseGroup, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, (size % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, (size % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) } } if *(*int32)(unsafe.Pointer(bp /* rc */)) != 0 { @@ -69791,7 +70305,9 @@ func multiplexSync(tls *libc.TLS, pConn uintptr, flags int32) int32 { /* test_mu for i = 0; i < (*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal; i++ { var pSubOpen uintptr = (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(i)*16)).Fp if pSubOpen != 0 { - var rc2 int32 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xSync */))))(tls, pSubOpen, flags) + var rc2 int32 = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSync})).f(tls, pSubOpen, flags) if rc2 != SQLITE_OK { rc = rc2 } @@ -69815,7 +70331,9 @@ func multiplexFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 { /* t if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(7) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 48 /* &.xFileSize */))))(tls, pSubOpen, pSize) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, pSize) } } else { *(*sqlite3_int64)(unsafe.Pointer(pSize)) = int64(0) @@ -69840,7 +70358,9 @@ func multiplexLock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_mul var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 56 /* &.xLock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxLock})).f(tls, pSubOpen, lock) } return SQLITE_BUSY } @@ -69855,7 +70375,9 @@ func multiplexUnlock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_m var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 64 /* &.xUnlock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxUnlock})).f(tls, pSubOpen, lock) } return (SQLITE_IOERR | (int32(8) << 8)) } @@ -69870,7 +70392,9 @@ func multiplexCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) i var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pSubOpen, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxCheckReservedLock})).f(tls, pSubOpen, pResOut) } return (SQLITE_IOERR | (int32(14) << 8)) } @@ -69960,7 +70484,9 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) default: pSubOpen = multiplexSubOpen(tls, pGroup, 0, bp+8 /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileControl})).f(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34923 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -69980,7 +70506,9 @@ func multiplexSectorSize(tls *libc.TLS, pConn uintptr) int32 { /* test_multiplex var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if (pSubOpen != 0) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize != 0) { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 88 /* &.xSectorSize */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize})).f(tls, pSubOpen) } return DEFAULT_SECTOR_SIZE } @@ -69995,7 +70523,9 @@ func multiplexDeviceCharacteristics(tls *libc.TLS, pConn uintptr) int32 { /* tes var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxDeviceCharacteristics})).f(tls, pSubOpen) } return 0 } @@ -70010,7 +70540,9 @@ func multiplexShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32 var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmMap})).f(tls, pSubOpen, iRegion, szRegion, bExtend, pp) } return SQLITE_IOERR } @@ -70025,7 +70557,9 @@ func multiplexShmLock(tls *libc.TLS, pConn uintptr, ofst int32, n int32, flags i var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 112 /* &.xShmLock */))))(tls, pSubOpen, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmLock})).f(tls, pSubOpen, ofst, n, flags) } return SQLITE_BUSY } @@ -70040,7 +70574,7 @@ func multiplexShmBarrier(tls *libc.TLS, pConn uintptr) { /* test_multiplex.c:106 var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pSubOpen) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmBarrier})).f(tls, pSubOpen) } } @@ -70054,7 +70588,9 @@ func multiplexShmUnmap(tls *libc.TLS, pConn uintptr, deleteFlag int32) int32 { / var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pSubOpen, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmUnmap})).f(tls, pSubOpen, deleteFlag) } return SQLITE_OK } @@ -70732,12 +71268,16 @@ var g3 = test_mutex_globals{} /* test_mutex.c:54:3 */ // Return true if the countable mutex is currently held func counterMutexHeld(tls *libc.TLS, p uintptr) int32 { /* test_mutex.c:57:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 56 /* &.xMutexHeld */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexHeld})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Return true if the countable mutex is not currently held func counterMutexNotheld(tls *libc.TLS, p uintptr) int32 { /* test_mutex.c:62:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 64 /* &.xMutexNotheld */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexNotheld})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Initialize the countable mutex interface @@ -70749,7 +71289,7 @@ func counterMutexInit(tls *libc.TLS) int32 { /* test_mutex.c:71:12: */ if g3.FdisableInit != 0 { return g3.FdisableInit } - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexInit})).f(tls) g3.FisInit = 1 return rc } @@ -70757,7 +71297,7 @@ func counterMutexInit(tls *libc.TLS) int32 { /* test_mutex.c:71:12: */ // Uninitialize the mutex subsystem func counterMutexEnd(tls *libc.TLS) int32 { /* test_mutex.c:82:12: */ g3.FisInit = 0 - return (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 8 /* &.xMutexEnd */))))(tls) + return (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexEnd})).f(tls) } // Allocate a countable mutex @@ -70765,7 +71305,9 @@ func counterMutexAlloc(tls *libc.TLS, eType int32) uintptr { /* test_mutex.c:90: var pReal uintptr var pRet uintptr = uintptr(0) - pReal = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 16 /* &.xMutexAlloc */))))(tls, eType) + pReal = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexAlloc})).f(tls, eType) if !(pReal != 0) { return uintptr(0) } @@ -70786,7 +71328,7 @@ func counterMutexAlloc(tls *libc.TLS, eType int32) uintptr { /* test_mutex.c:90: // Free a countable mutex func counterMutexFree(tls *libc.TLS, p uintptr) { /* test_mutex.c:118:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 24 /* &.xMutexFree */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexFree})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) if ((*sqlite3_mutex)(unsafe.Pointer(p)).FeType == SQLITE_MUTEX_FAST) || ((*sqlite3_mutex)(unsafe.Pointer(p)).FeType == SQLITE_MUTEX_RECURSIVE) { libc.Xfree(tls, p) } @@ -70796,7 +71338,7 @@ func counterMutexFree(tls *libc.TLS, p uintptr) { /* test_mutex.c:118:13: */ func counterMutexEnter(tls *libc.TLS, p uintptr) { /* test_mutex.c:129:13: */ *(*int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 88 /* &.aCounter */) + uintptr((*sqlite3_mutex)(unsafe.Pointer(p)).FeType)*4))++ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 32 /* &.xMutexEnter */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexEnter})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Try to enter a mutex. Return true on success. @@ -70806,13 +71348,15 @@ func counterMutexTry(tls *libc.TLS, p uintptr) int32 { /* test_mutex.c:140:12: * if g3.FdisableTry != 0 { return SQLITE_BUSY } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 40 /* &.xMutexTry */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexTry})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Leave a mutex func counterMutexLeave(tls *libc.TLS, p uintptr) { /* test_mutex.c:151:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 48 /* &.xMutexLeave */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexLeave})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // sqlite3_shutdown @@ -71012,9 +71556,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } type ConfigOption = struct { - FzName uintptr - FiValue int32 - _ [4]byte + FzName uintptr + FiValue int32 + F__ccgo_pad1 [4]byte } /* test_mutex.c:348:3 */ func getDbPointer1(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr { /* test_mutex.c:379:16: */ @@ -71161,10 +71705,10 @@ type fs_real_file1 = struct { type fs_real_file = fs_real_file1 /* test_onefile.c:97:29 */ type fs_file1 = struct { - Fbase sqlite3_file - FeType int32 - _ [4]byte - FpReal uintptr + Fbase sqlite3_file + FeType int32 + F__ccgo_pad1 [4]byte + FpReal uintptr } /* test_onefile.c:109:9 */ type fs_file = fs_file1 /* test_onefile.c:109:24 */ @@ -71347,7 +71891,9 @@ func fsClose1(tls *libc.TLS, pFile uintptr) int32 { /* test_onefile.c:375:12: */ if (*fs_real_file)(unsafe.Pointer(pReal)).FpNext != 0 { (*fs_real_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpNext)).FppThis = (*fs_real_file)(unsafe.Pointer(pReal)).FppThis } - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods + 8 /* &.xClose */))))(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods)).FxClose})).f(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) sqlite3.Xsqlite3_free(tls, pReal) } @@ -71365,7 +71911,9 @@ func fsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite (((*fs_file)(unsafe.Pointer(p)).FeType == JOURNAL_FILE) && ((sqlite_int64(iAmt) + iOfst) > sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnJournal))) { rc = (SQLITE_IOERR | (int32(2) << 8)) } else if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 16 /* &.xRead */))))(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxRead})).f(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) } else { // Journal file. var iRem int32 = iAmt @@ -71380,7 +71928,9 @@ func fsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite return (BLOCKSIZE - (iRealOff % BLOCKSIZE)) }() - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 16 /* &.xRead */))))(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxRead})).f(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) ii = ii + (iRealAmt) iBuf = iBuf + (iRealAmt) iRem = iRem - (iRealAmt) @@ -71401,7 +71951,9 @@ func fsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlit if ((sqlite_int64(iAmt) + iOfst) + int64(BLOCKSIZE)) > (sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal)) { rc = SQLITE_FULL } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase = func() int32 { if (sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase)) > (sqlite_int64(iAmt) + iOfst) { @@ -71428,7 +71980,9 @@ func fsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlit if iRealOff < ((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase + BLOCKSIZE) { rc = SQLITE_FULL } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) ii = ii + (iRealAmt) iBuf = iBuf + (iRealAmt) iRem = iRem - (iRealAmt) @@ -71486,10 +72040,14 @@ func fsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_onefile.c *(*uint8)(unsafe.Pointer(bp /* &zSize[0] */ + 1)) = (uint8(((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x00FF0000) >> 16)) *(*uint8)(unsafe.Pointer(bp /* &zSize[0] */ + 2)) = (uint8(((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x0000FF00) >> 8)) *(*uint8)(unsafe.Pointer(bp /* &zSize[0] */ + 3)) = (uint8((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x000000FF)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, bp /* &zSize[0] */, 4, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxWrite})).f(tls, pRealFile, bp /* &zSize[0] */, 4, int64(0)) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 40 /* &.xSync */))))(tls, pRealFile, (flags & (libc.CplInt32(SQLITE_SYNC_DATAONLY)))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxSync})).f(tls, pRealFile, (flags & (libc.CplInt32(SQLITE_SYNC_DATAONLY)))) } return rc @@ -71621,7 +72179,9 @@ __6: (*fs_real_file)(unsafe.Pointer(pReal)).FzName = zName (*fs_real_file)(unsafe.Pointer(pReal)).FpFile = (pReal + 1*48) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 40 /* &.xOpen */))))(tls, pParent, zName, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile, real_flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxOpen})).f(tls, pParent, zName, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile, real_flags, pOutFlags) if !(rc != SQLITE_OK) { goto __7 } @@ -71630,7 +72190,9 @@ __7: ; pRealFile = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 48 /* &.xFileSize */))))(tls, pRealFile, bp /* &size */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxFileSize})).f(tls, pRealFile, bp /* &size */) if !(rc != SQLITE_OK) { goto __8 } @@ -71640,17 +72202,23 @@ __8: if !(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */)) == int64(0)) { goto __9 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxWrite})).f(tls, pRealFile, ts+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = int32(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */))) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 16 /* &.xRead */))))(tls, pRealFile, bp+8 /* &zS[0] */, 4, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxRead})).f(tls, pRealFile, bp+8 /* &zS[0] */, 4, int64(0)) (*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase = ((((int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */))) << 24) + (int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 1))) << 16)) + (int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 2))) << 8)) + int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 3)))) if !(rc == SQLITE_OK) { goto __11 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 16 /* &.xRead */))))(tls, pRealFile, bp+8 /* &zS[0] */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - 4))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxRead})).f(tls, pRealFile, bp+8 /* &zS[0] */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - 4))) if !((((*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */)) != 0) || (*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 1)) != 0)) || (*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 2)) != 0)) || (*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 3)) != 0)) { goto __12 } @@ -71693,7 +72261,9 @@ __16: if !((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods != 0) { goto __18 } - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods + 8 /* &.xClose */))))(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods)).FxClose})).f(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) __18: ; sqlite3.Xsqlite3_free(tls, pReal) @@ -71719,7 +72289,9 @@ func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { } if pReal != 0 { pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+35649 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, ts+35649 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0 } @@ -71737,7 +72309,9 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u if flags != SQLITE_ACCESS_EXISTS { var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 56 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxAccess})).f(tls, pParent, zPath, flags, pResOut) } if (nName > 8) && (libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { @@ -71758,13 +72332,17 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u // of at least (FS_MAX_PATHNAME+1) bytes. func fsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* test_onefile.c:746:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 64 /* &.xFullPathname */))))(tls, pParent, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxFullPathname})).f(tls, pParent, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func fsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_onefile.c:759:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pParent + 72 /* &.xDlOpen */))))(tls, pParent, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlOpen})).f(tls, pParent, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable @@ -71772,39 +72350,51 @@ func fsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_onef // with dynamic libraries. func fsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_onefile.c:769:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pParent + 80 /* &.xDlError */))))(tls, pParent, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlError})).f(tls, pParent, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func fsDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* test_onefile.c:777:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pParent + 88 /* &.xDlSym */))))(tls, pParent, pH, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlSym})).f(tls, pParent, pH, zSym) } // Close the dynamic library handle pHandle. func fsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* test_onefile.c:785:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pParent + 96 /* &.xDlClose */))))(tls, pParent, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlClose})).f(tls, pParent, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func fsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* test_onefile.c:794:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 104 /* &.xRandomness */))))(tls, pParent, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxRandomness})).f(tls, pParent, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func fsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_onefile.c:803:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pParent + 112 /* &.xSleep */))))(tls, pParent, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxSleep})).f(tls, pParent, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func fsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_onefile.c:811:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pParent + 120 /* &.xCurrentTime */))))(tls, pParent, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxCurrentTime})).f(tls, pParent, pTimeOut) } // This procedure registers the fs vfs with SQLite. If the argument is @@ -71882,12 +72472,12 @@ type VfslogVfs1 = struct { Fbase sqlite3_vfs FpVfs uintptr FiNextFileId int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpLog uintptr FiOffset sqlite3_int64 FnBuf int32 FaBuf [8192]uint8 - _ [4]byte + F__ccgo_pad2 [4]byte } /* test_osinst.c:117:9 */ // Copyright (C) 1991-2020 Free Software Foundation, Inc. @@ -71941,11 +72531,11 @@ type VfslogVfs1 = struct { type VfslogVfs = VfslogVfs1 /* test_osinst.c:117:26 */ type VfslogFile1 = struct { - Fbase sqlite3_file - FpReal uintptr - FpVfslog uintptr - FiFileId int32 - _ [4]byte + Fbase sqlite3_file + FpReal uintptr + FpVfslog uintptr + FiFileId int32 + F__ccgo_pad1 [4]byte } /* test_osinst.c:118:9 */ type VfslogFile = VfslogFile1 /* test_osinst.c:118:27 */ @@ -72010,7 +72600,9 @@ func vfslogClose(tls *libc.TLS, pFile uintptr) int32 { /* test_osinst.c:256:12: t = vfslog_time(tls) if (*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods != 0 { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 8 /* &.xClose */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) } t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_CLOSE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) @@ -72023,7 +72615,9 @@ func vfslogRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sq var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_READ, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, iAmt, int32(iOfst)) return rc @@ -72035,7 +72629,9 @@ func vfslogWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst sqli var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 24 /* &.xWrite */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, z, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, z, iAmt, iOfst) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_WRITE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, iAmt, int32(iOfst)) return rc @@ -72047,7 +72643,9 @@ func vfslogTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 32 /* &.xTruncate */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, size) + rc = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, size) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_TRUNCATE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, int32(size)) return rc @@ -72059,7 +72657,9 @@ func vfslogSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_osins var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xSync */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SYNC, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, flags, 0) return rc @@ -72071,7 +72671,9 @@ func vfslogFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* test var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pSize) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pSize) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_FILESIZE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, int32(*(*sqlite_int64)(unsafe.Pointer(pSize)))) return rc @@ -72083,7 +72685,9 @@ func vfslogLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_osins var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 56 /* &.xLock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_LOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, eLock, 0) return rc @@ -72095,7 +72699,9 @@ func vfslogUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_osi var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xUnlock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_UNLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, eLock, 0) return rc @@ -72107,7 +72713,9 @@ func vfslogCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pResOut) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_CHECKRESERVEDLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, *(*int32)(unsafe.Pointer(pResOut)), 0) return rc @@ -72119,7 +72727,9 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int defer tls.Free(8) var p uintptr = pFile - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35654 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -72132,7 +72742,9 @@ func vfslogSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* test_osinst.c:407 var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 88 /* &.xSectorSize */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SECTORSIZE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -72144,7 +72756,9 @@ func vfslogDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test_o var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_DEVCHAR, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -72155,7 +72769,9 @@ func vfslogShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, ofst, n, flags) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -72166,7 +72782,9 @@ func vfslogShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMMAP, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -72176,7 +72794,7 @@ func vfslogShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_osinst.c:458:13: * var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMBARRIER, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), SQLITE_OK, 0, 0) } @@ -72186,7 +72804,9 @@ func vfslogShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* t var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, deleteFlag) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, deleteFlag) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMUNMAP, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -72205,7 +72825,9 @@ func vfslogOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags (*VfslogFile)(unsafe.Pointer(p)).FiFileId = libc.PreIncInt32(&(*VfslogVfs)(unsafe.Pointer(pLog)).FiNextFileId, 1) t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 40 /* &.xOpen */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zName, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxOpen})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zName, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags, pOutFlags) t = (vfslog_time(tls) - t) vfslog_call(tls, pVfs, OS_OPEN, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) @@ -72220,7 +72842,9 @@ func vfslogDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int var rc int32 var t sqlite3_uint64 t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 48 /* &.xDelete */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, dirSync) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDelete})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, dirSync) t = (vfslog_time(tls) - t) vfslog_call(tls, pVfs, OS_DELETE, 0, int64(t), rc, dirSync, 0) vfslog_string(tls, pVfs, zPath) @@ -72233,7 +72857,9 @@ func vfslogAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO var rc int32 var t sqlite3_uint64 t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 56 /* &.xAccess */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, flags, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxAccess})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, flags, pResOut) t = (vfslog_time(tls) - t) vfslog_call(tls, pVfs, OS_ACCESS, 0, int64(t), rc, flags, *(*int32)(unsafe.Pointer(pResOut))) vfslog_string(tls, pVfs, zPath) @@ -72244,54 +72870,74 @@ func vfslogAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. func vfslogFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* test_osinst.c:548:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 64 /* &.xFullPathname */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxFullPathname})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func vfslogDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_osinst.c:560:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 72 /* &.xDlOpen */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlOpen})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func vfslogDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_osinst.c:569:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 80 /* &.xDlError */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlError})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func vfslogDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* test_osinst.c:576:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 88 /* &.xDlSym */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlSym})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p, zSym) } // Close the dynamic library handle pHandle. func vfslogDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* test_osinst.c:583:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 96 /* &.xDlClose */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlClose})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func vfslogRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* test_osinst.c:591:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 104 /* &.xRandomness */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxRandomness})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func vfslogSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_osinst.c:599:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 112 /* &.xSleep */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxSleep})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func vfslogCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_osinst.c:606:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 120 /* &.xCurrentTime */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxCurrentTime})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pTimeOut) } func vfslogGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* test_osinst.c:610:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 128 /* &.xGetLastError */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxGetLastError})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, a, b) } func vfslogCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* test_osinst.c:613:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxCurrentTimeInt64})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p) } func vfslog_flush(tls *libc.TLS, p uintptr) { /* test_osinst.c:617:13: */ @@ -72305,7 +72951,9 @@ func vfslog_flush(tls *libc.TLS, p uintptr) { /* test_osinst.c:617:13: */ sqlite3.Xsqlite3_diskfull_pending = 0 if (*VfslogVfs)(unsafe.Pointer(p)).FnBuf != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods + 24 /* &.xWrite */))))(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, p+204 /* &.aBuf */, (*VfslogVfs)(unsafe.Pointer(p)).FnBuf, (*VfslogVfs)(unsafe.Pointer(p)).FiOffset) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods)).FxWrite})).f(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, p+204 /* &.aBuf */, (*VfslogVfs)(unsafe.Pointer(p)).FnBuf, (*VfslogVfs)(unsafe.Pointer(p)).FiOffset) *(*sqlite3_int64)(unsafe.Pointer(p + 192 /* &.iOffset */)) += (sqlite3_int64((*VfslogVfs)(unsafe.Pointer(p)).FnBuf)) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 0 } @@ -72361,7 +73009,9 @@ func vfslog_string(tls *libc.TLS, pVfs uintptr, zStr uintptr) { /* test_osinst.c func vfslog_finalize(tls *libc.TLS, p uintptr) { /* test_osinst.c:691:13: */ if (*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods != 0 { vfslog_flush(tls, p) - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods + 8 /* &.xClose */))))(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods)).FxClose})).f(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog) } sqlite3.Xsqlite3_free(tls, p) } @@ -72410,11 +73060,17 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui libc.Xmemcpy(tls, (*VfslogVfs)(unsafe.Pointer(p)).Fbase.FzName, zVfs, uint64(nVfs)) zFile = ((*VfslogVfs)(unsafe.Pointer(p)).Fbase.FzName + uintptr((nVfs + 1))) - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 64 /* &.xFullPathname */))))(tls, pParent, zLog, (*sqlite3_vfs)(unsafe.Pointer(pParent)).FmxPathname, zFile) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxFullPathname})).f(tls, pParent, zLog, (*sqlite3_vfs)(unsafe.Pointer(pParent)).FmxPathname, zFile) *(*int32)(unsafe.Pointer(bp /* flags */)) = ((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_SUPER_JOURNAL) - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pParent + 48 /* &.xDelete */))))(tls, pParent, zFile, 0) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 40 /* &.xOpen */))))(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDelete})).f(tls, pParent, zFile, 0) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxOpen})).f(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) if rc == SQLITE_OK { libc.Xmemcpy(tls, p+204 /* &.aBuf */, ts+35664 /* "sqlite_ostrace1...." */, uint64(20)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) @@ -72532,14 +73188,14 @@ type VfslogVtab1 = struct { type VfslogVtab = VfslogVtab1 /* test_osinst.c:804:27 */ type VfslogCsr1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FiOffset sqlite3_int64 - FzTransient uintptr - FnFile int32 - _ [4]byte - FazFile uintptr - FaBuf [1024]uint8 + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FiOffset sqlite3_int64 + FzTransient uintptr + FnFile int32 + F__ccgo_pad1 [4]byte + FazFile uintptr + FaBuf [1024]uint8 } /* test_osinst.c:805:9 */ type VfslogCsr = VfslogCsr1 /* test_osinst.c:805:26 */ @@ -72606,14 +73262,20 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp return SQLITE_NOMEM } dequote(tls, zFile) - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zFile, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname, (*VfslogVtab)(unsafe.Pointer(p)).FzFile) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zFile, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname, (*VfslogVtab)(unsafe.Pointer(p)).FzFile) sqlite3.Xsqlite3_free(tls, zFile) *(*int32)(unsafe.Pointer(bp + 8 /* flags */)) = (SQLITE_OPEN_READWRITE | SQLITE_OPEN_SUPER_JOURNAL) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, (*VfslogVtab)(unsafe.Pointer(p)).FzFile, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, *(*int32)(unsafe.Pointer(bp + 8 /* flags */)), bp+8 /* &flags */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, (*VfslogVtab)(unsafe.Pointer(p)).FzFile, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, *(*int32)(unsafe.Pointer(bp + 8 /* flags */)), bp+8 /* &flags */) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxFileSize})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, ts+35902 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) @@ -72635,7 +73297,9 @@ func vlogBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test func vlogDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test_osinst.c:924:12: */ var p uintptr = pVtab if (*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 8 /* &.xClose */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxClose})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd) (*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods = uintptr(0) } sqlite3.Xsqlite3_free(tls, p) @@ -72684,19 +73348,25 @@ func vlogNext(tls *libc.TLS, pCursor uintptr) int32 { /* test_osinst.c:965:12: * nRead = 24 if ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead)) <= (*VfslogVtab)(unsafe.Pointer(p)).FnByte { var eEvent int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, pCsr+48 /* &.aBuf */, nRead, (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, pCsr+48 /* &.aBuf */, nRead, (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset) eEvent = int32(get32bits(tls, pCsr+48 /* &.aBuf */)) if (rc == SQLITE_OK) && (((eEvent == OS_OPEN) || (eEvent == OS_DELETE)) || (eEvent == OS_ACCESS)) { // var buf [4]uint8 at bp, 4 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, bp /* &buf[0] */, 4, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, bp /* &buf[0] */, 4, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) nRead = nRead + (4) if rc == SQLITE_OK { var nStr int32 = int32(get32bits(tls, bp /* buf */)) var zStr uintptr = sqlite3.Xsqlite3_malloc(tls, (nStr + 1)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, zStr, nStr, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, zStr, nStr, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) *(*uint8)(unsafe.Pointer(zStr + uintptr(nStr))) = uint8(0) nRead = nRead + (nStr) @@ -73063,15 +73733,15 @@ func testpcacheShutdown(tls *libc.TLS, pArg uintptr) { /* test_pcache.c:67:13: * // Private implementation of a page cache. type testpcache1 = struct { - FszPage int32 - FszExtra int32 - FbPurgeable int32 - FnFree int32 - FnPinned int32 - FiRand uint32 - FiMagic uint32 - _ [4]byte - Fa [217]struct { + FszPage int32 + FszExtra int32 + FbPurgeable int32 + FnFree int32 + FnPinned int32 + FiRand uint32 + FiMagic uint32 + F__ccgo_pad1 [4]byte + Fa [217]struct { Fpage sqlite3_pcache_page Fkey uint32 FisPinned int32 @@ -73531,7 +74201,7 @@ var gQuota struct { FsIoMethodsV1 sqlite3_io_methods FsIoMethodsV2 sqlite3_io_methods FisInitialized int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpMutex uintptr FpGroup uintptr } /* test_quota.c:183:3: */ @@ -73590,7 +74260,7 @@ func quotaGroupDeref(tls *libc.TLS, pGroup uintptr) { /* test_quota.c:229:13: */ (*quotaGroup)(unsafe.Pointer((*quotaGroup)(unsafe.Pointer(pGroup)).FpNext)).FppPrev = (*quotaGroup)(unsafe.Pointer(pGroup)).FppPrev } if (*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pGroup + 40 /* &.xDestroy */))))(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy})).f(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } sqlite3.Xsqlite3_free(tls, pGroup) } @@ -73777,7 +74447,9 @@ func quotaOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, flags // If the file is not a main database file or a WAL, then use the // normal xOpen method. if (flags & (SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_WAL)) == 0 { - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, zName, pConn, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pConn, flags, pOutFlags) } // If the name of the file does not match any quota group, then @@ -73785,17 +74457,23 @@ func quotaOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, flags quotaEnter(tls) pGroup = quotaGroupFind(tls, zName) if pGroup == uintptr(0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, zName, pConn, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pConn, flags, pOutFlags) } else { // If we get to this point, it means the file needs to be quota tracked. pQuotaOpen = pConn pSubOpen = quotaSubOpen(tls, pConn) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, zName, pSubOpen, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pSubOpen, flags, pOutFlags) if rc == SQLITE_OK { pFile = quotaFindFile(tls, pGroup, zName, 1) if pFile == uintptr(0) { quotaLeave(tls) - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 8 /* &.xClose */))))(tls, pSubOpen) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen) return SQLITE_NOMEM } (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose = (libc.Bool32((flags & SQLITE_OPEN_DELETEONCLOSE) != 0)) @@ -73824,7 +74502,9 @@ func quotaDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) int3 var pOrigVfs uintptr = gQuota.FpOrigVfs // Real VFS // Do the actual file delete - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, zName, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, zName, syncDir) // If the file just deleted is a member of a quota group, then remove // it from that quota group. @@ -73857,13 +74537,17 @@ func quotaClose(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:528:12: */ var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 8 /* &.xClose */))))(tls, pSubOpen) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen) quotaEnter(tls) (*quotaFile)(unsafe.Pointer(pFile)).FnRef-- if (*quotaFile)(unsafe.Pointer(pFile)).FnRef == 0 { var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup if (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 48 /* &.xDelete */))))(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) quotaRemoveFile(tls, pFile) } quotaGroupDeref(tls, pGroup) @@ -73876,7 +74560,9 @@ func quotaClose(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:528:12: */ // further processing. func quotaRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sqlite3_int64) int32 { /* test_quota.c:551:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 16 /* &.xRead */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } // Check xWrite requests to see if they expand the file. If they do, @@ -73896,7 +74582,9 @@ func quotaWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sq szNew = (((*quotaGroup)(unsafe.Pointer(pGroup)).FiSize - (*quotaFile)(unsafe.Pointer(pFile)).FiSize) + iEnd) if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { if (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr))(unsafe.Pointer((pGroup + 24 /* &.xCallback */))))(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback})).f(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { @@ -73908,7 +74596,9 @@ func quotaWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sq (*quotaFile)(unsafe.Pointer(pFile)).FiSize = iEnd quotaLeave(tls) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 24 /* &.xWrite */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } // Pass xTruncate requests thru to the original VFS. If the @@ -73916,7 +74606,9 @@ func quotaWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sq func quotaTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { /* test_quota.c:602:12: */ var p uintptr = pConn var pSubOpen uintptr = quotaSubOpen(tls, pConn) - var rc int32 = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, size) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, size) var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile var pGroup uintptr if rc == SQLITE_OK { @@ -73933,7 +74625,9 @@ func quotaTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { /* // Pass xSync requests through to the original VFS without change func quotaSync(tls *libc.TLS, pConn uintptr, flags int32) int32 { /* test_quota.c:621:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xSync */))))(tls, pSubOpen, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSync})).f(tls, pSubOpen, flags) } // Pass xFileSize requests through to the original VFS but then @@ -73950,7 +74644,9 @@ func quotaFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 { /* test_ var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 48 /* &.xFileSize */))))(tls, pSubOpen, bp /* &sz */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, bp /* &sz */) if rc == SQLITE_OK { quotaEnter(tls) pGroup = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup @@ -73966,19 +74662,25 @@ func quotaFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 { /* test_ // Pass xLock requests through to the original VFS unchanged. func quotaLock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_quota.c:652:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 56 /* &.xLock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxLock})).f(tls, pSubOpen, lock) } // Pass xUnlock requests through to the original VFS unchanged. func quotaUnlock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_quota.c:659:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 64 /* &.xUnlock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxUnlock})).f(tls, pSubOpen, lock) } // Pass xCheckReservedLock requests through to the original VFS unchanged. func quotaCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) int32 { /* test_quota.c:666:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pSubOpen, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxCheckReservedLock})).f(tls, pSubOpen, pResOut) } // Pass xFileControl requests through to the original VFS unchanged. @@ -73987,7 +74689,9 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 defer tls.Free(8) var pSubOpen uintptr = quotaSubOpen(tls, pConn) - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileControl})).f(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+36042 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -73997,37 +74701,47 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 // Pass xSectorSize requests through to the original VFS unchanged. func quotaSectorSize(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:686:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 88 /* &.xSectorSize */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize})).f(tls, pSubOpen) } // Pass xDeviceCharacteristics requests through to the original VFS unchanged. func quotaDeviceCharacteristics(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:693:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxDeviceCharacteristics})).f(tls, pSubOpen) } // Pass xShmMap requests through to the original VFS unchanged. func quotaShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32, bExtend int32, pp uintptr) int32 { /* test_quota.c:700:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmMap})).f(tls, pSubOpen, iRegion, szRegion, bExtend, pp) } // Pass xShmLock requests through to the original VFS unchanged. func quotaShmLock(tls *libc.TLS, pConn uintptr, ofst int32, n int32, flags int32) int32 { /* test_quota.c:713:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 112 /* &.xShmLock */))))(tls, pSubOpen, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmLock})).f(tls, pSubOpen, ofst, n, flags) } // Pass xShmBarrier requests through to the original VFS unchanged. func quotaShmBarrier(tls *libc.TLS, pConn uintptr) { /* test_quota.c:725:13: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pSubOpen) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmBarrier})).f(tls, pSubOpen) } // Pass xShmUnmap requests through to the original VFS unchanged. func quotaShmUnmap(tls *libc.TLS, pConn uintptr, deleteFlag int32) int32 { /* test_quota.c:732:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pSubOpen, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmUnmap})).f(tls, pSubOpen, deleteFlag) } //************************* Public Interfaces **************************** @@ -74198,7 +74912,7 @@ func sqlite3_quota_set(tls *libc.TLS, zPattern uintptr, iLimit sqlite3_int64, xC (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit = iLimit (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback = xCallback if ((*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy != 0) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FpArg != pArg) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pGroup + 40 /* &.xDestroy */))))(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy})).f(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg = pArg (*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy = xDestroy @@ -74227,7 +74941,9 @@ func sqlite3_quota_file(tls *libc.TLS, zFilename uintptr) int32 { /* test_quota. rc = SQLITE_NOMEM } else { zFull = ((fd) + uintptr(gQuota.FsThisVfs.FszOsFile)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gQuota.FpOrigVfs, zFilename, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename, (gQuota.FsThisVfs.FmxPathname + 1), zFull) } @@ -74236,8 +74952,12 @@ func sqlite3_quota_file(tls *libc.TLS, zFilename uintptr) int32 { /* test_quota. rc = quotaOpen(tls, (uintptr(unsafe.Pointer(&gQuota)) + 8 /* &.sThisVfs */), zFull, fd, (SQLITE_OPEN_READONLY | SQLITE_OPEN_MAIN_DB), bp /* &outFlags */) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods + 48 /* &.xFileSize */))))(tls, fd, bp+8 /* &iSize */) - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods + 8 /* &.xClose */))))(tls, fd) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxFileSize})).f(tls, fd, bp+8 /* &iSize */) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxClose})).f(tls, fd) } else if rc == SQLITE_CANTOPEN { var pGroup uintptr var pFile uintptr @@ -74276,7 +74996,9 @@ func sqlite3_quota_fopen(tls *libc.TLS, zFilename uintptr, zMode uintptr) uintpt return uintptr(0) __1: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gQuota.FpOrigVfs, zFilename, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename, (gQuota.FsThisVfs.FmxPathname + 1), zFull) if !(rc != 0) { goto __2 @@ -74363,7 +75085,9 @@ func sqlite3_quota_fwrite(tls *libc.TLS, pBuf uintptr, size size_t, nmemb size_t szNew = (((*quotaGroup)(unsafe.Pointer(pGroup)).FiSize - (*quotaFile)(unsafe.Pointer(pFile)).FiSize) + iEnd) if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { if (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr))(unsafe.Pointer((pGroup + 24 /* &.xCallback */))))(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback})).f(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { @@ -74409,7 +75133,9 @@ func sqlite3_quota_fclose(tls *libc.TLS, p uintptr) int32 { /* test_quota.c:1054 if (*quotaFile)(unsafe.Pointer(pFile)).FnRef == 0 { var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup if (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 48 /* &.xDelete */))))(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) quotaRemoveFile(tls, pFile) } quotaGroupDeref(tls, pGroup) @@ -74559,7 +75285,9 @@ func sqlite3_quota_remove(tls *libc.TLS, zFilename uintptr) int32 { /* test_quot if zFull == uintptr(0) { return SQLITE_NOMEM } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gQuota.FpOrigVfs, zFilename, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename, (gQuota.FsThisVfs.FmxPathname + 1), zFull) if rc != 0 { sqlite3.Xsqlite3_free(tls, zFull) @@ -74584,7 +75312,9 @@ func sqlite3_quota_remove(tls *libc.TLS, zFilename uintptr) int32 { /* test_quot if (*quotaFile)(unsafe.Pointer(pFile)).FnRef != 0 { (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose = 1 } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 48 /* &.xDelete */))))(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) quotaRemoveFile(tls, pFile) quotaGroupDeref(tls, pGroup) } @@ -75242,12 +75972,12 @@ type Circle1 = struct { Fymin float64 Fymax float64 } - Fcenterx float64 - Fcentery float64 - Fradius float64 - FmxArea float64 - FeScoreType int32 - _ [4]byte + Fcenterx float64 + Fcentery float64 + Fradius float64 + FmxArea float64 + FeScoreType int32 + F__ccgo_pad1 [4]byte } /* test_rtree.c:31:9 */ // Type used to cache parameter information for the "circle" r-tree geometry @@ -75432,7 +76162,7 @@ func circle_query_func(tls *libc.TLS, p uintptr) int32 { /* test_rtree.c:168:12: (*Circle)(unsafe.Pointer(pCircle)).Fcenterx = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam)) (*Circle)(unsafe.Pointer(pCircle)).Fcentery = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 1*8)) (*Circle)(unsafe.Pointer(pCircle)).Fradius = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 2*8)) - (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = int32(*(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 3*8))) + (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = libc.Int32FromFloat64(*(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 3*8))) } else { var z uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FapSqlParam))) (*Circle)(unsafe.Pointer(pCircle)).Fcenterx = 0.0 @@ -75447,7 +76177,7 @@ func circle_query_func(tls *libc.TLS, p uintptr) int32 { /* test_rtree.c:168:12: } else if (int32(*(*uint8)(unsafe.Pointer(z))) == 'y') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == ':') { (*Circle)(unsafe.Pointer(pCircle)).Fcentery = libc.Xatof(tls, (z + 2)) } else if (int32(*(*uint8)(unsafe.Pointer(z))) == 'e') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == ':') { - (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = int32(libc.Xatof(tls, (z + 2))) + (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = libc.Int32FromFloat64(libc.Xatof(tls, (z + 2))) } else if int32(*(*uint8)(unsafe.Pointer(z))) == ' ' { z++ continue @@ -76083,7 +76813,7 @@ type schema_cursor1 = struct { FpTableList uintptr FpColumnList uintptr Frowid int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* test_schema.c:54:9 */ type schema_cursor = schema_cursor1 /* test_schema.c:54:30 */ @@ -76439,14 +77169,14 @@ var aObjCmd12 = [1]struct { // instances of the following structure. type SqlMessage1 = struct { Fop int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpDb uintptr FpStmt uintptr FerrCode int32 - _ [4]byte + F__ccgo_pad2 [4]byte FzIn uintptr FnByte int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzOut uintptr FpNext uintptr FpPrev uintptr @@ -76534,7 +77264,7 @@ type ServerState = struct { FserverMutex pthread_mutex_t FserverWakeup pthread_cond_t FserverHalt int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpQueueHead uintptr FpQueueTail uintptr } /* test_server.c:252:8 */ @@ -76552,11 +77282,11 @@ var g4 = ServerState{} /* test_server.c:259:3 */ // initializing them and destroying them when it has finished. func sendToServer(tls *libc.TLS, pMsg uintptr) { /* test_server.c:272:13: */ // Initialize the mutex and condition variable on the message - libc2.Xpthread_mutex_init(tls, (pMsg + 72 /* &.clientMutex */), uintptr(0)) - libc2.Xpthread_cond_init(tls, (pMsg + 112 /* &.clientWakeup */), uintptr(0)) + libc.Xpthread_mutex_init(tls, (pMsg + 72 /* &.clientMutex */), uintptr(0)) + libc.Xpthread_cond_init(tls, (pMsg + 112 /* &.clientWakeup */), uintptr(0)) // Add the message to the head of the server's message queue. - libc2.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) (*SqlMessage)(unsafe.Pointer(pMsg)).FpNext = g4.FpQueueHead if g4.FpQueueHead == uintptr(0) { g4.FpQueueTail = pMsg @@ -76565,20 +77295,20 @@ func sendToServer(tls *libc.TLS, pMsg uintptr) { /* test_server.c:272:13: */ } (*SqlMessage)(unsafe.Pointer(pMsg)).FpPrev = uintptr(0) g4.FpQueueHead = pMsg - libc2.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) // Signal the server that the new message has be queued, then // block waiting for the server to process the message. - libc2.Xpthread_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) - libc2.Xpthread_cond_signal(tls, (uintptr(unsafe.Pointer(&g4)) + 80 /* &.serverWakeup */)) + libc.Xpthread_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_signal(tls, (uintptr(unsafe.Pointer(&g4)) + 80 /* &.serverWakeup */)) for (*SqlMessage)(unsafe.Pointer(pMsg)).Fop != MSG_Done { - libc2.Xpthread_cond_wait(tls, (pMsg + 112 /* &.clientWakeup */), (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_wait(tls, (pMsg + 112 /* &.clientWakeup */), (pMsg + 72 /* &.clientMutex */)) } - libc2.Xpthread_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) // Destroy the mutex and condition variable of the message. - libc2.Xpthread_mutex_destroy(tls, (pMsg + 72 /* &.clientMutex */)) - libc2.Xpthread_cond_destroy(tls, (pMsg + 112 /* &.clientWakeup */)) + libc.Xpthread_mutex_destroy(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_destroy(tls, (pMsg + 112 /* &.clientWakeup */)) } // The following 6 routines are client-side implementations of the @@ -76689,7 +77419,7 @@ func sqlite3_client_close(tls *libc.TLS, pDb uintptr) int32 { /* test_server.c:3 // for an example. This procedure loops until g.serverHalt becomes // true. func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:393:6: */ - if libc2.Xpthread_mutex_trylock(tls, (uintptr(unsafe.Pointer(&g4))+40 /* &.serverMutex */)) != 0 { + if libc.Xpthread_mutex_trylock(tls, (uintptr(unsafe.Pointer(&g4))+40 /* &.serverMutex */)) != 0 { return uintptr(0) // Another server is already running } sqlite3.Xsqlite3_enable_shared_cache(tls, 1) @@ -76697,9 +77427,9 @@ func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:3 var pMsg uintptr // Remove the last message from the message queue. - libc2.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) for (g4.FpQueueTail == uintptr(0)) && (g4.FserverHalt == 0) { - libc2.Xpthread_cond_wait(tls, (uintptr(unsafe.Pointer(&g4)) + 80 /* &.serverWakeup */), (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_cond_wait(tls, (uintptr(unsafe.Pointer(&g4)) + 80 /* &.serverWakeup */), (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) } pMsg = g4.FpQueueTail if pMsg != 0 { @@ -76710,13 +77440,13 @@ func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:3 } g4.FpQueueTail = (*SqlMessage)(unsafe.Pointer(pMsg)).FpPrev } - libc2.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) if pMsg == uintptr(0) { break } // Process the message just removed - libc2.Xpthread_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) switch (*SqlMessage)(unsafe.Pointer(pMsg)).Fop { case MSG_Open: { @@ -76759,10 +77489,10 @@ func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:3 // Signal the client that the message has been processed. (*SqlMessage)(unsafe.Pointer(pMsg)).Fop = MSG_Done - libc2.Xpthread_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) - libc2.Xpthread_cond_signal(tls, (pMsg + 112 /* &.clientWakeup */)) + libc.Xpthread_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_signal(tls, (pMsg + 112 /* &.clientWakeup */)) } - libc2.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 40 /* &.serverMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 40 /* &.serverMutex */)) return uintptr(0) } @@ -76777,11 +77507,11 @@ func sqlite3_server_start(tls *libc.TLS) { /* test_server.c:465:6: */ var rc int32 g4.FserverHalt = 0 - rc = libc2.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{sqlite3_server})), uintptr(0)) if rc == 0 { - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) } } @@ -76805,11 +77535,11 @@ func sqlite3_server_start2(tls *libc.TLS, pnDecr uintptr) { /* test_server.c:491 var rc int32 g4.FserverHalt = 0 - rc = libc2.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{serverWrapper})), pnDecr) if rc == 0 { - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) } } @@ -76820,9 +77550,9 @@ func sqlite3_server_start2(tls *libc.TLS, pnDecr uintptr) { /* test_server.c:491 // returning. func sqlite3_server_stop(tls *libc.TLS) { /* test_server.c:508:6: */ g4.FserverHalt = 1 - libc2.Xpthread_cond_broadcast(tls, (uintptr(unsafe.Pointer(&g4)) + 80 /* &.serverWakeup */)) - libc2.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) + 40 /* &.serverMutex */)) - libc2.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 40 /* &.serverMutex */)) + libc.Xpthread_cond_broadcast(tls, (uintptr(unsafe.Pointer(&g4)) + 80 /* &.serverWakeup */)) + libc.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) + 40 /* &.serverMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 40 /* &.serverMutex */)) } // Copyright (C) 1991-2020 Free Software Foundation, Inc. @@ -76875,10 +77605,10 @@ func sqlite3_server_stop(tls *libc.TLS) { /* test_server.c:508:6: */ // A structure to collect a busy-handler callback and argument and a count // of the number of times it has been invoked. type SuperlockBusy1 = struct { - FxBusy uintptr - FpBusyArg uintptr - FnBusy int32 - _ [4]byte + FxBusy uintptr + FpBusyArg uintptr + FnBusy int32 + F__ccgo_pad1 [4]byte } /* test_superlock.c:29:1 */ type SuperlockBusy = SuperlockBusy1 /* test_superlock.c:34:30 */ @@ -76887,9 +77617,9 @@ type SuperlockBusy = SuperlockBusy1 /* test_superlock.c:34:30 */ // superlock. The opaque handle returned by sqlite3demo_superlock() is // actually a pointer to an instance of this structure. type Superlock1 = struct { - Fdb uintptr - FbWal int32 - _ [4]byte + Fdb uintptr + FbWal int32 + F__ccgo_pad1 [4]byte } /* test_superlock.c:41:1 */ type Superlock = Superlock1 /* test_superlock.c:45:26 */ @@ -76902,7 +77632,9 @@ func superlockBusyHandler(tls *libc.TLS, pCtx uintptr, UNUSED int32) int32 { /* if (*SuperlockBusy)(unsafe.Pointer(pBusy)).FxBusy == uintptr(0) { return 0 } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pBusy /* &.xBusy */))))(tls, (*SuperlockBusy)(unsafe.Pointer(pBusy)).FpBusyArg, libc.PostIncInt32(&(*SuperlockBusy)(unsafe.Pointer(pBusy)).FnBusy, 1)) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SuperlockBusy)(unsafe.Pointer(pBusy)).FxBusy})).f(tls, (*SuperlockBusy)(unsafe.Pointer(pBusy)).FpBusyArg, libc.PostIncInt32(&(*SuperlockBusy)(unsafe.Pointer(pBusy)).FnBusy, 1)) } // This function is used to determine if the main database file for @@ -76944,7 +77676,9 @@ func superlockShmLock(tls *libc.TLS, fd uintptr, idx int32, nByte int32, pBusy u var rc int32 var xShmLock uintptr = (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxShmLock for ok := true; ok; ok = ((rc == SQLITE_BUSY) && (superlockBusyHandler(tls, pBusy, 0) != 0)) { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xShmLock)))(tls, fd, idx, nByte, (SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, fd, idx, nByte, (SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE)) } return rc } @@ -76978,11 +77712,13 @@ func superlockWalLock(tls *libc.TLS, db uintptr, pBusy uintptr) int32 { /* test_ // lock that this process is holding to do that, no new read or write // transactions may now be opened. Nor can a checkpoint be run, for the // same reason. - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods + 104 /* &.xShmMap */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 0, (32 * 1024), 1, bp+8 /* &p */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods)).FxShmMap})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 0, (32 * 1024), 1, bp+8 /* &p */) if rc != SQLITE_OK { return rc } - libc.Xmemset(tls, libc.AtomicLoadPUintptr(bp+8 /* p */), 0, uint64(32)) + libc.Xmemset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)), 0, uint64(32)) // Obtain exclusive locks on all the "read-lock" slots. Once these locks // are held, it is guaranteed that there are no active reader, writer or @@ -77005,8 +77741,12 @@ func sqlite3demo_superunlock(tls *libc.TLS, pLock uintptr) { /* test_superlock.c *(*uintptr)(unsafe.Pointer(bp /* fd */)) = uintptr(0) rc = sqlite3.Xsqlite3_file_control(tls, (*Superlock)(unsafe.Pointer(p)).Fdb, ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp /* &fd */) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods + 112 /* &.xShmLock */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 2, 1, flags) - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods + 112 /* &.xShmLock */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 3, (SQLITE_SHM_NLOCK - 3), flags) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 2, 1, flags) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 3, (SQLITE_SHM_NLOCK - 3), flags) } } sqlite3.Xsqlite3_close(tls, (*Superlock)(unsafe.Pointer(p)).Fdb) @@ -77508,8 +78248,12 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj return rc } if aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxOrig == uintptr(0) { - aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxOrig = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName) - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxTest) + aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxOrig = (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetSystemCall})).f(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName) + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxTest) } aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].Fcustom_errno = aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].Fdefault_errno } @@ -77529,7 +78273,9 @@ func test_syscall_uninstall(tls *libc.TLS, clientData uintptr, interp uintptr, o pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) for i = 0; aSyscall[i].FzName != 0; i++ { if aSyscall[i].FxOrig != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, aSyscall[i].FzName, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, aSyscall[i].FzName, uintptr(0)) aSyscall[i].FxOrig = uintptr(0) } } @@ -77551,7 +78297,9 @@ func test_syscall_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) if objc == 2 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, uintptr(0), uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, uintptr(0), uintptr(0)) for i = 0; aSyscall[i].FzName != 0; i++ { aSyscall[i].FxOrig = uintptr(0) } @@ -77559,7 +78307,9 @@ func test_syscall_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var nFunc int32 at bp, 4 var zFunc uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp /* &nFunc */) - rc = (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), uintptr(0)) for i = 0; (rc == SQLITE_OK) && (aSyscall[i].FzName != 0); i++ { if libc.Xstrlen(tls, aSyscall[i].FzName) != size_t(*(*int32)(unsafe.Pointer(bp /* nFunc */))) { continue @@ -77589,7 +78339,9 @@ func test_syscall_exists(tls *libc.TLS, clientData uintptr, interp uintptr, objc } pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) - x = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))) + x = (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetSystemCall})).f(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((libc.Bool32(x != uintptr(0))) != 0)))) return TCL_OK @@ -77667,9 +78419,9 @@ func test_syscall_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc } type Errno = struct { - Fz uintptr - Fi int32 - _ [4]byte + Fz uintptr + Fi int32 + F__ccgo_pad1 [4]byte } /* test_syscall.c:583:3 */ func test_syscall_list(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_syscall.c:619:26: */ @@ -77685,7 +78437,11 @@ func test_syscall_list(tls *libc.TLS, clientData uintptr, interp uintptr, objc i pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) pList = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pList)).FrefCount++ - for zSys = (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 160 /* &.xNextSystemCall */))))(tls, pVfs, uintptr(0)); zSys != uintptr(0); zSys = (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 160 /* &.xNextSystemCall */))))(tls, pVfs, zSys) { + for zSys = (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxNextSystemCall})).f(tls, pVfs, uintptr(0)); zSys != uintptr(0); zSys = (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxNextSystemCall})).f(tls, pVfs, zSys) { tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, zSys, -1)) } @@ -77733,16 +78489,22 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 0 { if gSyscall.Forig_getpagesize != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */, gSyscall.Forig_getpagesize) + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, ts+37406 /* "getpagesize" */, gSyscall.Forig_getpagesize) } } else { if (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 512) || ((*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) - 1)) != 0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37418 /* "pgsz out of rang..." */, 0)) return TCL_ERROR } - gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */) + gSyscall.Forig_getpagesize = (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetSystemCall})).f(tls, pVfs, ts+37406 /* "getpagesize" */) gSyscall.Fpgsz = *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, ts+37406 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) } @@ -77802,7 +78564,9 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, if rc != TCL_OK { return rc } - return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 16 /* &aCmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 176 /* iCmd */)))*16 + 8 /* &.xCmd */))))(tls, clientData, interp, objc, objv) + return (*struct { + f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SyscallCmd)(unsafe.Pointer(bp + 16 /* &aCmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 176 /* iCmd */)))*16)).FxCmd})).f(tls, clientData, interp, objc, objv) } type SyscallCmd = struct { @@ -78817,17 +79581,17 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i defer tls.Free(164) *(*[5]struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr })(unsafe.Pointer(bp /* aSub */)) = [5]struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr }{ {FzName: ts + 38545 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 @@ -78854,11 +79618,11 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr }{})), ts+1875 /* "sub-command" */, 0, bp+160 /* &iIndex */) if rc != TCL_OK { return rc @@ -78866,23 +79630,31 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pSub = (bp /* &aSub */ + uintptr(*(*int32)(unsafe.Pointer(bp + 160 /* iIndex */)))*32) if objc < ((*struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr })(unsafe.Pointer(pSub)).FnArg + 2) { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, (*struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr })(unsafe.Pointer(pSub)).FzUsage) return TCL_ERROR } - return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSub + 8 /* &.xProc */))))(tls, clientData, interp, objc, objv) + return (*struct { + f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*struct { + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr + })(unsafe.Pointer(pSub)).FxProc})).f(tls, clientData, interp, objc, objv) } /* @@ -78909,10 +79681,10 @@ func clock_seconds_proc(tls *libc.TLS, clientData ClientData, interp uintptr, ob // A pointer to an instance of this structure is passed as the user-context // pointer when registering for an unlock-notify callback. type UnlockNotification1 = struct { - Ffired int32 - _ [4]byte - Fcond pthread_cond_t - Fmutex pthread_mutex_t + Ffired int32 + F__ccgo_pad1 [4]byte + Fcond pthread_cond_t + Fmutex pthread_mutex_t } /* test_thread.c:410:9 */ // A pointer to an instance of this structure is passed as the user-context @@ -78924,10 +79696,10 @@ func unlock_notify_cb(tls *libc.TLS, apArg uintptr, nArg int32) { /* test_thread var i int32 for i = 0; i < nArg; i++ { var p uintptr = *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8)) - libc2.Xpthread_mutex_lock(tls, (p + 56 /* &.mutex */)) + libc.Xpthread_mutex_lock(tls, (p + 56 /* &.mutex */)) (*UnlockNotification)(unsafe.Pointer(p)).Ffired = 1 - libc2.Xpthread_cond_signal(tls, (p + 8 /* &.cond */)) - libc2.Xpthread_mutex_unlock(tls, (p + 56 /* &.mutex */)) + libc.Xpthread_cond_signal(tls, (p + 8 /* &.cond */)) + libc.Xpthread_mutex_unlock(tls, (p + 56 /* &.mutex */)) } } @@ -78952,8 +79724,8 @@ func wait_for_unlock_notify(tls *libc.TLS, db uintptr) int32 { /* test_thread.c: // Initialize the UnlockNotification structure. (*UnlockNotification)(unsafe.Pointer(bp /* &un */)).Ffired = 0 - libc2.Xpthread_mutex_init(tls, (bp /* &un */ + 56 /* &.mutex */), uintptr(0)) - libc2.Xpthread_cond_init(tls, (bp /* &un */ + 8 /* &.cond */), uintptr(0)) + libc.Xpthread_mutex_init(tls, (bp /* &un */ + 56 /* &.mutex */), uintptr(0)) + libc.Xpthread_cond_init(tls, (bp /* &un */ + 8 /* &.cond */), uintptr(0)) // Register for an unlock-notify callback. rc = sqlite3.Xsqlite3_unlock_notify(tls, db, *(*uintptr)(unsafe.Pointer(&struct { @@ -78968,16 +79740,16 @@ func wait_for_unlock_notify(tls *libc.TLS, db uintptr) int32 { /* test_thread.c: // that the current transaction can be rolled back. Otherwise, block // until the unlock-notify callback is invoked, then return SQLITE_OK. if rc == SQLITE_OK { - libc2.Xpthread_mutex_lock(tls, (bp /* &un */ + 56 /* &.mutex */)) + libc.Xpthread_mutex_lock(tls, (bp /* &un */ + 56 /* &.mutex */)) if !((*UnlockNotification)(unsafe.Pointer(bp /* &un */)).Ffired != 0) { - libc2.Xpthread_cond_wait(tls, (bp /* &un */ + 8 /* &.cond */), (bp /* &un */ + 56 /* &.mutex */)) + libc.Xpthread_cond_wait(tls, (bp /* &un */ + 8 /* &.cond */), (bp /* &un */ + 56 /* &.mutex */)) } - libc2.Xpthread_mutex_unlock(tls, (bp /* &un */ + 56 /* &.mutex */)) + libc.Xpthread_mutex_unlock(tls, (bp /* &un */ + 56 /* &.mutex */)) } // Destroy the mutex and condition variables. - libc2.Xpthread_cond_destroy(tls, (bp /* &un */ + 8 /* &.cond */)) - libc2.Xpthread_mutex_destroy(tls, (bp /* &un */ + 56 /* &.mutex */)) + libc.Xpthread_cond_destroy(tls, (bp /* &un */ + 8 /* &.cond */)) + libc.Xpthread_mutex_destroy(tls, (bp /* &un */ + 56 /* &.mutex */)) return rc } @@ -79176,12 +79948,12 @@ type Testvfs1 = struct { type Testvfs = Testvfs1 /* test_vfs.c:37:24 */ type TestvfsBuffer1 = struct { - FzFile uintptr - Fpgsz int32 - _ [4]byte - FaPage [1024]uintptr - FpFile uintptr - FpNext uintptr + FzFile uintptr + Fpgsz int32 + F__ccgo_pad1 [4]byte + FaPage [1024]uintptr + FpFile uintptr + FpNext uintptr } /* test_vfs.c:37:9 */ type TestvfsBuffer = TestvfsBuffer1 /* test_vfs.c:39:30 */ @@ -79264,9 +80036,9 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c } type errcode = struct { - FeCode int32 - _ [4]byte - FzCode uintptr + FeCode int32 + F__ccgo_pad1 [4]byte + FzCode uintptr } /* test_vfs.c:227:3 */ func tvfsInjectFault(tls *libc.TLS, p uintptr) int32 { /* test_vfs.c:256:12: */ @@ -79595,9 +80367,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } type Fcntl = struct { - FiFnctl int32 - _ [4]byte - FzFnctl uintptr + FiFnctl int32 + F__ccgo_pad1 [4]byte + FzFnctl uintptr } /* test_vfs.c:550:5 */ // Return the sector-size in bytes for an tvfs-file. @@ -79817,7 +80589,9 @@ func tvfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_vfs.c: // Return the current time as a Julian Day number in *pTimeOut. func tvfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_vfs.c:823:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent + 120 /* &.xCurrentTime */))))(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent))).FxCurrentTime})).f(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, pTimeOut) } func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ @@ -79892,7 +80666,9 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 104 /* &.xShmMap */))))(tls, pReal, iPage, pgsz, isWrite, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmMap})).f(tls, pReal, iPage, pgsz, isWrite, pp) } if uintptr(0) == (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm { @@ -79926,7 +80702,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tvfsAllocPage(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm, iPage, pgsz) } if (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_READONLY) { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer(((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 /* &.aPage */) + uintptr(iPage)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer(((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 /* &.aPage */) + uintptr(iPage)*8)) } return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -79944,7 +80720,9 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 112 /* &.xShmLock */))))(tls, pReal, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmLock})).f(tls, pReal, ofst, n, flags) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { @@ -80023,7 +80801,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmBarrier})).f(tls, pReal) return } } @@ -80040,7 +80818,9 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pReal, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmUnmap})).f(tls, pReal, deleteFlag) } if !(pBuffer != 0) { @@ -80126,7 +80906,9 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Testvfs)(unsafe.Pointer(p)).FpParent + 64 /* &.xFullPathname */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FxFullPathname})).f(tls, (*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName) if rc != SQLITE_OK { @@ -80398,15 +81180,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } type TestvfsSubcmd = struct { - FzName uintptr - FeCmd uint32 - _ [4]byte + FzName uintptr + FeCmd uint32 + F__ccgo_pad1 [4]byte } /* test_vfs.c:1092:3 */ type VfsMethod = struct { - FzName uintptr - Fmask int32 - _ [4]byte + FzName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ @@ -80725,7 +81507,9 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if *(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)) == uintptr(0) { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)))).FpMethods + 112 /* &.xShmLock */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)), *(*int32)(unsafe.Pointer(bp + 68 /* iOffset */)), *(*int32)(unsafe.Pointer(bp + 72 /* n */)), + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)), *(*int32)(unsafe.Pointer(bp + 68 /* iOffset */)), *(*int32)(unsafe.Pointer(bp + 72 /* n */)), ((func() int32 { if *(*int32)(unsafe.Pointer(bp + 32 /* iArg1 */)) == 0 { return SQLITE_SHM_SHARED @@ -80773,16 +81557,18 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)) == uintptr(0) { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)))).FpMethods + 104 /* &.xShmMap */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)), 0, (32 * 1024), 0, bp+40 /* &pShm */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)))).FpMethods)).FxShmMap})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)), 0, (32 * 1024), 0, bp+40 /* &pShm */) if rc != SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) return TCL_ERROR } - if libc.AtomicLoadPUintptr(bp+40 /* pShm */) == uintptr(0) { + if *(*uintptr)(unsafe.Pointer(bp + 40 /* pShm */)) == uintptr(0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+39382 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } - aShm = libc.AtomicLoadPUintptr(bp + 40 /* pShm */) + aShm = *(*uintptr)(unsafe.Pointer(bp + 40 /* pShm */)) iOff = (((12 * 2) + 1) + *(*int32)(unsafe.Pointer(bp + 24 /* iSlot */))) if objc == 5 { @@ -81182,10 +81968,10 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i func Sqlitetest_window_Init(tls *libc.TLS, interp uintptr) int32 { /* test_window.c:331:5: */ var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aObjCmd14)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{}))); i++ { var c ClientData = uintptr(intptr_t(aObjCmd14[i].FclientData)) tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd14[i].FzName, aObjCmd14[i].FxProc, c, uintptr(0)) @@ -81194,10 +81980,10 @@ func Sqlitetest_window_Init(tls *libc.TLS, interp uintptr) int32 { /* test_windo } var aObjCmd14 = [4]struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 39530 /* "sqlite3_create_w..." */, FxProc: 0}, {FzName: ts + 39561 /* "test_create_wind..." */, FxProc: 0}, diff --git a/lib/sqlite_linux_arm64.go b/lib/sqlite_linux_arm64.go index c274c87..780646f 100644 --- a/lib/sqlite_linux_arm64.go +++ b/lib/sqlite_linux_arm64.go @@ -106103,7 +106103,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -161553,7 +161552,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/lib/sqlite_linux_s390x.go b/lib/sqlite_linux_s390x.go index 6881509..a860b2f 100644 --- a/lib/sqlite_linux_s390x.go +++ b/lib/sqlite_linux_s390x.go @@ -597,7 +597,7 @@ const ( F_ULOCK = 0 F_UNLCK = 2 F_WRLCK = 1 - GCC_VERSION = 7005000 + GCC_VERSION = 9003000 GEOPOLY_PI = 3.1415926535897932385 HASHSIZE = 97 HASHTABLE_HASH_1 = 383 @@ -3066,6 +3066,150 @@ const ( WsdStatInit = 0 ) +// These are the possible values for the FLAGS argument to `dladdr1'. +// This indicates what extra information is stored at *EXTRA_INFO. +// It may also be zero, in which case the EXTRA_INFO argument is not used. +const ( /* dlfcn.h:108:1: */ + // Matching symbol table entry (const ElfNN_Sym *). + RTLD_DL_SYMENT = 1 + + // The object containing the address (struct link_map *). + RTLD_DL_LINKMAP = 2 +) + +// These are the possible values for the REQUEST argument to `dlinfo'. +const ( /* dlfcn.h:128:1: */ + // Treat ARG as `lmid_t *'; store namespace ID for HANDLE there. + RTLD_DI_LMID = 1 + + // Treat ARG as `struct link_map **'; + // store the `struct link_map *' for HANDLE there. + RTLD_DI_LINKMAP = 2 + + RTLD_DI_CONFIGADDR = 3 // Unsupported, defined by Solaris. + + // Treat ARG as `Dl_serinfo *' (see below), and fill in to describe the + // directories that will be searched for dependencies of this object. + // RTLD_DI_SERINFOSIZE fills in just the `dls_cnt' and `dls_size' + // entries to indicate the size of the buffer that must be passed to + // RTLD_DI_SERINFO to fill in the full information. + RTLD_DI_SERINFO = 4 + RTLD_DI_SERINFOSIZE = 5 + + // Treat ARG as `char *', and store there the directory name used to + // expand $ORIGIN in this shared object's dependency file names. + RTLD_DI_ORIGIN = 6 + + RTLD_DI_PROFILENAME = 7 // Unsupported, defined by Solaris. + RTLD_DI_PROFILEOUT = 8 // Unsupported, defined by Solaris. + + // Treat ARG as `size_t *', and store there the TLS module ID + // of this object's PT_TLS segment, as used in TLS relocations; + // store zero if this object does not define a PT_TLS segment. + RTLD_DI_TLS_MODID = 9 + + // Treat ARG as `void **', and store there a pointer to the calling + // thread's TLS block corresponding to this object's PT_TLS segment. + // Store a null pointer if this object does not define a PT_TLS + // segment, or if the calling thread has not allocated a block for it. + RTLD_DI_TLS_DATA = 10 + + RTLD_DI_MAX = 10 +) + +// Define macros for the return values of ilogb and llogb, based on +// __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. +// +// FP_ILOGB0 Expands to a value returned by `ilogb (0.0)'. +// FP_ILOGBNAN Expands to a value returned by `ilogb (NAN)'. +// FP_LLOGB0 Expands to a value returned by `llogb (0.0)'. +// FP_LLOGBNAN Expands to a value returned by `llogb (NAN)'. +// + +// Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. +// Copyright (C) 2016-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if +// it is -INT_MAX. __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN +// is INT_MIN, and 0 if it is INT_MAX. + +// Get the architecture specific values describing the floating-point +// evaluation. The following symbols will get defined: +// +// FP_FAST_FMA +// FP_FAST_FMAF +// FP_FAST_FMAL +// If defined it indicates that the `fma' function +// generally executes about as fast as a multiply and an add. +// This macro is defined only iff the `fma' function is +// implemented directly with a hardware multiply-add instructions. + +// Define FP_FAST_* macros. +// Copyright (C) 2016-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} +// builtins are supported. + +// Rounding direction macros for fromfp functions. +const ( /* math.h:237:1: */ + FP_INT_UPWARD = 0 + FP_INT_DOWNWARD = 1 + FP_INT_TOWARDZERO = 2 + FP_INT_TONEARESTFROMZERO = 3 + FP_INT_TONEAREST = 4 +) + +// Depending on the type of TG_ARG, call an appropriately suffixed +// version of FUNC with arguments (including parentheses) ARGS. +// Suffixed functions may not exist for long double if it has the same +// format as double, or for other types with the same format as float, +// double or long double. The behavior is undefined if the argument +// does not have a real floating type. The definition may use a +// conditional expression, so all suffixed versions of FUNC must +// return the same type (FUNC may include a cast if necessary rather +// than being a single identifier). + +// ISO C99 defines some generic macros which work on any data type. + +// All floating-point numbers can be put in one of these categories. +const ( /* math.h:853:1: */ + FP_NAN = 0 + FP_INFINITE = 1 + FP_ZERO = 2 + FP_SUBNORMAL = 3 + FP_NORMAL = 4 +) + // Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; // the `_SC_*' symbols for the NAME argument to `sysconf'; // and the `_CS_*' symbols for the NAME argument to `confstr'. @@ -3474,68 +3618,11 @@ const ( /* fcntl-linux.h:265:1: */ F_OWNER_GID = 2 ) -// These are the possible values for the FLAGS argument to `dladdr1'. -// This indicates what extra information is stored at *EXTRA_INFO. -// It may also be zero, in which case the EXTRA_INFO argument is not used. -const ( /* dlfcn.h:108:1: */ - // Matching symbol table entry (const ElfNN_Sym *). - RTLD_DL_SYMENT = 1 +// A null pointer constant. - // The object containing the address (struct link_map *). - RTLD_DL_LINKMAP = 2 -) - -// These are the possible values for the REQUEST argument to `dlinfo'. -const ( /* dlfcn.h:128:1: */ - // Treat ARG as `lmid_t *'; store namespace ID for HANDLE there. - RTLD_DI_LMID = 1 - - // Treat ARG as `struct link_map **'; - // store the `struct link_map *' for HANDLE there. - RTLD_DI_LINKMAP = 2 - - RTLD_DI_CONFIGADDR = 3 // Unsupported, defined by Solaris. - - // Treat ARG as `Dl_serinfo *' (see below), and fill in to describe the - // directories that will be searched for dependencies of this object. - // RTLD_DI_SERINFOSIZE fills in just the `dls_cnt' and `dls_size' - // entries to indicate the size of the buffer that must be passed to - // RTLD_DI_SERINFO to fill in the full information. - RTLD_DI_SERINFO = 4 - RTLD_DI_SERINFOSIZE = 5 - - // Treat ARG as `char *', and store there the directory name used to - // expand $ORIGIN in this shared object's dependency file names. - RTLD_DI_ORIGIN = 6 - - RTLD_DI_PROFILENAME = 7 // Unsupported, defined by Solaris. - RTLD_DI_PROFILEOUT = 8 // Unsupported, defined by Solaris. - - // Treat ARG as `size_t *', and store there the TLS module ID - // of this object's PT_TLS segment, as used in TLS relocations; - // store zero if this object does not define a PT_TLS segment. - RTLD_DI_TLS_MODID = 9 - - // Treat ARG as `void **', and store there a pointer to the calling - // thread's TLS block corresponding to this object's PT_TLS segment. - // Store a null pointer if this object does not define a PT_TLS - // segment, or if the calling thread has not allocated a block for it. - RTLD_DI_TLS_DATA = 10 - - RTLD_DI_MAX = 10 -) - -// Define macros for the return values of ilogb and llogb, based on -// __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. -// -// FP_ILOGB0 Expands to a value returned by `ilogb (0.0)'. -// FP_ILOGBNAN Expands to a value returned by `ilogb (NAN)'. -// FP_LLOGB0 Expands to a value returned by `llogb (0.0)'. -// FP_LLOGBNAN Expands to a value returned by `llogb (NAN)'. -// - -// Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. -// Copyright (C) 2016-2020 Free Software Foundation, Inc. +// XPG requires a few symbols from being defined. +// Definitions of flag bits for `waitpid' et al. +// Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. // // The GNU C Library is free software; you can redistribute it and/or @@ -3552,70 +3639,19 @@ const ( /* dlfcn.h:128:1: */ // License along with the GNU C Library; if not, see // . -// __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if -// it is -INT_MAX. __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN -// is INT_MIN, and 0 if it is INT_MAX. +// Bits in the third argument to `waitpid'. -// Get the architecture specific values describing the floating-point -// evaluation. The following symbols will get defined: -// -// FP_FAST_FMA -// FP_FAST_FMAF -// FP_FAST_FMAL -// If defined it indicates that the `fma' function -// generally executes about as fast as a multiply and an add. -// This macro is defined only iff the `fma' function is -// implemented directly with a hardware multiply-add instructions. +// Bits in the fourth argument to `waitid'. -// Define FP_FAST_* macros. -// Copyright (C) 2016-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . +// The following values are used by the `waitid' function. -// The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} -// builtins are supported. +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. -// Rounding direction macros for fromfp functions. -const ( /* math.h:237:1: */ - FP_INT_UPWARD = 0 - FP_INT_DOWNWARD = 1 - FP_INT_TOWARDZERO = 2 - FP_INT_TONEARESTFROMZERO = 3 - FP_INT_TONEAREST = 4 -) - -// Depending on the type of TG_ARG, call an appropriately suffixed -// version of FUNC with arguments (including parentheses) ARGS. -// Suffixed functions may not exist for long double if it has the same -// format as double, or for other types with the same format as float, -// double or long double. The behavior is undefined if the argument -// does not have a real floating type. The definition may use a -// conditional expression, so all suffixed versions of FUNC must -// return the same type (FUNC may include a cast if necessary rather -// than being a single identifier). - -// ISO C99 defines some generic macros which work on any data type. - -// All floating-point numbers can be put in one of these categories. -const ( /* math.h:853:1: */ - FP_NAN = 0 - FP_INFINITE = 1 - FP_ZERO = 2 - FP_SUBNORMAL = 3 - FP_NORMAL = 4 +const ( /* waitflags.h:52:1: */ + P_ALL = 0 // Wait for any child. + P_PID = 1 // Wait for specified process. + P_PGID = 2 ) // Values for the first argument to `getitimer' and `setitimer'. @@ -3700,7 +3736,7 @@ type X__float128 = float64 /* :47:21 */ var sqlite3azCompileOpt = [19]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl - ts, /* "COMPILER=gcc-7.5..." */ + ts, /* "COMPILER=gcc-9.3..." */ ts + 19, /* "ENABLE_COLUMN_ME..." */ ts + 42, /* "ENABLE_FTS5" */ ts + 54, /* "ENABLE_GEOPOLY" */ @@ -3908,7 +3944,7 @@ func Xsqlite3CompileOptions(tls *libc.TLS, pnOpt uintptr) uintptr { /* sqlite3.c // The makefile makes some minor changes to this file (such as inserting // the version number) and changes its name to "sqlite3.h" as // part of the build process. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -4078,21 +4114,21 @@ type sqlite3 = struct { FmTrace U8 FnoSharedCache U8 FnSqlExec U8 - _ [3]byte + F__ccgo_pad1 [3]byte FnextPagesize int32 Fmagic U32 FnChange int32 FnTotalChange int32 FaLimit [12]int32 FnMaxSorterMmap int32 - _ [4]byte + F__ccgo_pad2 [4]byte Finit struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } FnVdbeActive int32 @@ -4123,9 +4159,9 @@ type sqlite3 = struct { FpCollNeededArg uintptr FpErr uintptr Fu1 struct { - _ [0]uint64 + F__ccgo_pad1 [0]uint64 FisInterrupted int32 - _ [4]byte + F__ccgo_pad2 [4]byte } Flookaside Lookaside FxAuth Sqlite3_xauth @@ -4418,7 +4454,7 @@ type sqlite3_file = struct{ FpMethods uintptr } /* sqlite3.c:1331:9 */ type Sqlite3_file = sqlite3_file /* sqlite3.c:1766:29 */ type sqlite3_io_methods = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxClose uintptr FxRead uintptr FxWrite uintptr @@ -4974,7 +5010,7 @@ type sqlite3_vfs = struct { FiVersion int32 FszOsFile int32 FmxPathname int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpNext uintptr FzName uintptr FpAppData uintptr @@ -5404,16 +5440,16 @@ type Sqlite3_value = sqlite3_value /* sqlite3.c:5368:30 */ // [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], // and/or [sqlite3_set_auxdata()]. type sqlite3_context = struct { - FpOut uintptr - FpFunc uintptr - FpMem uintptr - FpVdbe uintptr - FiOp int32 - FisError int32 - FskipFlag U8 - Fargc U8 - _ [6]byte - Fargv [1]uintptr + FpOut uintptr + FpFunc uintptr + FpMem uintptr + FpVdbe uintptr + FiOp int32 + FisError int32 + FskipFlag U8 + Fargc U8 + F__ccgo_pad1 [6]byte + Fargv [1]uintptr } /* sqlite3.c:1331:9 */ // CAPI3REF: SQL Function Context Object @@ -5451,10 +5487,10 @@ type Sqlite3_destructor_type = uintptr /* sqlite3.c:6747:14 */ // Structures used by the virtual table interface type sqlite3_vtab = struct { - FpModule uintptr - FnRef int32 - _ [4]byte - FzErrMsg uintptr + FpModule uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FzErrMsg uintptr } /* sqlite3.c:1331:9 */ // The interface to the virtual-table mechanism is currently considered @@ -5468,21 +5504,21 @@ type sqlite3_vtab = struct { type Sqlite3_vtab = sqlite3_vtab /* sqlite3.c:7866:29 */ type sqlite3_index_info = struct { FnConstraint int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaConstraint uintptr FnOrderBy int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaOrderBy uintptr FaConstraintUsage uintptr FidxNum int32 - _ [4]byte + F__ccgo_pad3 [4]byte FidxStr uintptr FneedToFreeIdxStr int32 ForderByConsumed int32 FestimatedCost float64 FestimatedRows Sqlite3_int64 FidxFlags int32 - _ [4]byte + F__ccgo_pad4 [4]byte FcolUsed Sqlite3_uint64 } /* sqlite3.c:7867:9 */ @@ -5492,7 +5528,7 @@ type sqlite3_vtab_cursor = struct{ FpVtab uintptr } /* sqlite3.c:7868:9 */ type Sqlite3_vtab_cursor = sqlite3_vtab_cursor /* sqlite3.c:7868:36 */ type sqlite3_module = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreate uintptr FxConnect uintptr FxBestIndex uintptr @@ -5624,7 +5660,7 @@ type sqlite3_index_constraint = struct { FiColumn int32 Fop uint8 Fusable uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FiTermOffset int32 } /* sqlite3.c:7867:9 */ @@ -5729,9 +5765,9 @@ type sqlite3_index_constraint = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_orderby = struct { - FiColumn int32 - Fdesc uint8 - _ [3]byte + FiColumn int32 + Fdesc uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Virtual Table Indexing Information @@ -5835,9 +5871,9 @@ type sqlite3_index_orderby = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_constraint_usage = struct { - FargvIndex int32 - Fomit uint8 - _ [3]byte + FargvIndex int32 + Fomit uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Mutex Methods Object @@ -6002,7 +6038,7 @@ type sqlite3_str = struct { FnChar U32 FaccError U8 FprintfFlags U8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.c:8964:9 */ // CAPI3REF: Dynamic String Object @@ -6202,20 +6238,20 @@ type Sqlite3_pcache_page = sqlite3_pcache_page /* sqlite3.c:9457:36 */ // is not obligated to free any memory, but well-behaved implementations should // do their best. type sqlite3_pcache_methods2 = struct { - FiVersion int32 - _ [4]byte - FpArg uintptr - FxInit uintptr - FxShutdown uintptr - FxCreate uintptr - FxCachesize uintptr - FxPagecount uintptr - FxFetch uintptr - FxUnpin uintptr - FxRekey uintptr - FxTruncate uintptr - FxDestroy uintptr - FxShrink uintptr + FiVersion int32 + F__ccgo_pad1 [4]byte + FpArg uintptr + FxInit uintptr + FxShutdown uintptr + FxCreate uintptr + FxCachesize uintptr + FxPagecount uintptr + FxFetch uintptr + FxUnpin uintptr + FxRekey uintptr + FxTruncate uintptr + FxDestroy uintptr + FxShrink uintptr } /* sqlite3.c:9622:9 */ // CAPI3REF: Application Defined Page Cache. @@ -6413,7 +6449,7 @@ type sqlite3_backup = struct { FiDestSchema U32 FbDestLocked int32 FiNext Pgno - _ [4]byte + F__ccgo_pad1 [4]byte FpSrcDb uintptr FpSrc uintptr Frc int32 @@ -6509,12 +6545,12 @@ type Sqlite3_snapshot = sqlite3_snapshot /* sqlite3.c:10714:3 */ // type sqlite3_rtree_geometry = struct { - FpContext uintptr - FnParam int32 - _ [4]byte - FaParam uintptr - FpUser uintptr - FxDelUser uintptr + FpContext uintptr + FnParam int32 + F__ccgo_pad1 [4]byte + FaParam uintptr + FpUser uintptr + FxDelUser uintptr } /* sqlite3.c:11039:9 */ // CAPI3REF: Flags for sqlite3_deserialize() @@ -6556,7 +6592,7 @@ type Sqlite3_rtree_geometry = sqlite3_rtree_geometry /* sqlite3.c:11039:39 */ type sqlite3_rtree_query_info = struct { FpContext uintptr FnParam int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaParam uintptr FpUser uintptr FxDelUser uintptr @@ -6565,7 +6601,7 @@ type sqlite3_rtree_query_info = struct { FnCoord int32 FiLevel int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiRowid Sqlite3_int64 FrParentScore Sqlite3_rtree_dbl FeParentWithin int32 @@ -6599,7 +6635,7 @@ type sqlite3_session = struct { FbIndirect int32 FbAutoAttach int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpFilterCtx uintptr FxTableFilter uintptr FnMalloc I64 @@ -6628,20 +6664,20 @@ type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ // An instance of this object acts as a cursor for iterating // over the elements of a [changeset] or [patchset]. type sqlite3_changeset_iter = struct { - Fin SessionInput - Ftblhdr SessionBuffer - FbPatchset int32 - FbInvert int32 - FbSkipEmpty int32 - Frc int32 - FpConflict uintptr - FzTab uintptr - FnCol int32 - Fop int32 - FbIndirect int32 - _ [4]byte - FabPK uintptr - FapValue uintptr + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + F__ccgo_pad1 [4]byte + FabPK uintptr + FapValue uintptr } /* sqlite3.c:11163:9 */ // CAPI3REF: Changeset Iterator Handle @@ -7102,7 +7138,7 @@ type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ type Fts5ExtensionApi1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxUserData uintptr FxColumnCount uintptr FxRowCount uintptr @@ -7185,7 +7221,7 @@ type Fts5_tokenizer = fts5_tokenizer /* sqlite3.c:13358:31 */ // FTS5 EXTENSION REGISTRATION API type fts5_api = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreateTokenizer uintptr FxFindTokenizer uintptr FxCreateFunction uintptr @@ -7873,9 +7909,9 @@ type HashElem = HashElem1 /* sqlite3.c:14071:25 */ // in the table, it is faster to do a linear search than to manage // the hash table. type _ht = struct { - Fcount uint32 - _ [4]byte - Fchain uintptr + Fcount uint32 + F__ccgo_pad1 [4]byte + Fchain uintptr } /* sqlite3.c:1331:9 */ // Wide character type. @@ -7886,14 +7922,9 @@ type _ht = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -8274,7 +8305,7 @@ type X__fpos64_t = _G_fpos64_t /* __fpos64_t.h:14:3 */ type _IO_FILE = struct { F_flags int32 - _ [4]byte + F__ccgo_pad1 [4]byte F_IO_read_ptr uintptr F_IO_read_end uintptr F_IO_read_base uintptr @@ -8294,7 +8325,7 @@ type _IO_FILE = struct { F_cur_column uint16 F_vtable_offset int8 F_shortbuf [1]uint8 - _ [4]byte + F__ccgo_pad2 [4]byte F_lock uintptr F_offset X__off64_t F_codecvt uintptr @@ -8339,11 +8370,6 @@ type Ssize_t = X__ssize_t /* stdio.h:77:19 */ type Fpos_t = X__fpos64_t /* stdio.h:86:20 */ type Fpos64_t = X__fpos64_t /* stdio.h:89:20 */ -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // XPG requires a few symbols from being defined. @@ -8369,6 +8395,12 @@ type Fpos64_t = X__fpos64_t /* stdio.h:89:20 */ // Bits in the fourth argument to `waitid'. +// The following values are used by the `waitid' function. + +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. + +type Idtype_t = uint32 /* waitflags.h:57:3 */ // Definitions of status bits for `wait' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. @@ -8848,7 +8880,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */ type Useconds_t = X__useconds_t /* types.h:134:22 */ type Suseconds_t = X__suseconds_t /* types.h:138:23 */ -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -8880,15 +8912,6 @@ type Suseconds_t = X__suseconds_t /* types.h:138:23 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -8923,11 +8946,6 @@ type Suseconds_t = X__suseconds_t /* types.h:138:23 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Old compatibility names for C types. @@ -9442,7 +9460,7 @@ type __pthread_rwlock_arch_t = struct { F__pad1 uint64 F__pad2 uint64 F__flags uint32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* struct_rwlock.h:23:1 */ // Common definition of pthread_cond_t. @@ -9464,15 +9482,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */ // Data structures for mutex handling. The structure of the attribute // type is not exposed on purpose. type Pthread_mutexattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:36:3 */ // Data structure for condition variable handling. The structure of // the attribute type is not exposed on purpose. type Pthread_condattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:45:3 */ // Keys for thread-specific data @@ -9482,8 +9500,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */ type pthread_attr_t = struct { - _ [0]uint64 - F__size [56]uint8 + F__ccgo_pad1 [0]uint64 + F__size [56]uint8 } /* pthreadtypes.h:56:1 */ type Pthread_attr_t = pthread_attr_t /* pthreadtypes.h:62:30 */ @@ -9497,8 +9515,8 @@ type Pthread_cond_t = struct{ F__data __pthread_cond_s } /* pthreadtypes.h:80:3 type Pthread_rwlock_t = struct{ F__data __pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ type Pthread_rwlockattr_t = struct { - _ [0]uint64 - F__size [8]uint8 + F__ccgo_pad1 [0]uint64 + F__size [8]uint8 } /* pthreadtypes.h:97:3 */ // POSIX spinlock data type. @@ -9507,13 +9525,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ // POSIX barriers data type. The structure of the type is // deliberately not exposed. type Pthread_barrier_t = struct { - _ [0]uint64 - F__size [32]uint8 + F__ccgo_pad1 [0]uint64 + F__size [32]uint8 } /* pthreadtypes.h:112:3 */ type Pthread_barrierattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:118:3 */ // Reentrant versions of the `random' family of functions. @@ -9521,14 +9539,14 @@ type Pthread_barrierattr_t = struct { // state, rather than global state variables. type random_data = struct { - Ffptr uintptr - Frptr uintptr - Fstate uintptr - Frand_type int32 - Frand_deg int32 - Frand_sep int32 - _ [4]byte - Fend_ptr uintptr + Ffptr uintptr + Frptr uintptr + Fstate uintptr + Frand_type int32 + Frand_deg int32 + Frand_sep int32 + F__ccgo_pad1 [4]byte + Fend_ptr uintptr } /* stdlib.h:423:1 */ // Data structure for communication with thread safe versions. This @@ -9563,11 +9581,6 @@ type X__compar_d_fn_t = uintptr /* stdlib.h:815:13 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -9578,7 +9591,7 @@ type X__compar_d_fn_t = uintptr /* stdlib.h:815:13 */ type Max_align_t = struct { F__max_align_ll int64 F__max_align_ld float64 -} /* stddef.h:437:3 */ +} /* stddef.h:426:3 */ // Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. // This allows better measurements of where memcpy() is used when running @@ -9711,7 +9724,7 @@ type BusyHandler1 = struct { FxBusyHandler uintptr FpBusyArg uintptr FnBusy int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // An instance of the following structure is used to store the busy-handler @@ -9773,7 +9786,7 @@ type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ type AggInfo1 = struct { FdirectMode U8 FuseSortingIdx U8 - _ [2]byte + F__ccgo_pad1 [2]byte FsortingIdx int32 FsortingIdxPTab int32 FnSortingColumn int32 @@ -9851,59 +9864,59 @@ type AutoincInfo1 = struct { type AutoincInfo = AutoincInfo1 /* sqlite3.c:14886:28 */ type Bitvec1 = struct { - FiSize U32 - FnSet U32 - FiDivisor U32 - _ [4]byte - Fu struct { - _ [0]uint64 - FaBitmap [496]U8 + FiSize U32 + FnSet U32 + FiDivisor U32 + F__ccgo_pad1 [4]byte + Fu struct { + F__ccgo_pad1 [0]uint64 + FaBitmap [496]U8 } } /* sqlite3.c:1331:9 */ type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */ type CollSeq1 = struct { - FzName uintptr - Fenc U8 - _ [7]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte + FpUser uintptr + FxCmp uintptr + FxDel uintptr } /* sqlite3.c:1331:9 */ type CollSeq = CollSeq1 /* sqlite3.c:14888:24 */ type Column1 = struct { - FzName uintptr - FpDflt uintptr - FzColl uintptr - FnotNull U8 - Faffinity uint8 - FszEst U8 - FhName U8 - FcolFlags U16 - _ [2]byte + FzName uintptr + FpDflt uintptr + FzColl uintptr + FnotNull U8 + Faffinity uint8 + FszEst U8 + FhName U8 + FcolFlags U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:1331:9 */ type Column = Column1 /* sqlite3.c:14889:23 */ type Cte1 = struct { - FzName uintptr - FpCols uintptr - FpSelect uintptr - FzCteErr uintptr - FpUse uintptr - FeM10d U8 - _ [7]byte + FzName uintptr + FpCols uintptr + FpSelect uintptr + FzCteErr uintptr + FpUse uintptr + FeM10d U8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:1331:9 */ type Cte = Cte1 /* sqlite3.c:14890:20 */ type CteUse1 = struct { - FnUse int32 - FaddrM9e int32 - FregRtn int32 - FiCur int32 - FnRowEst LogEst - FeM10d U8 - _ [1]byte + FnUse int32 + FaddrM9e int32 + FregRtn int32 + FiCur int32 + FnRowEst LogEst + FeM10d U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:1331:9 */ type CteUse = CteUse1 /* sqlite3.c:14891:23 */ @@ -9912,20 +9925,20 @@ type Db1 = struct { FpBt uintptr Fsafety_level U8 FbSyncSet U8 - _ [6]byte + F__ccgo_pad1 [6]byte FpSchema uintptr } /* sqlite3.c:1331:9 */ type Db = Db1 /* sqlite3.c:14892:19 */ type DbFixer1 = struct { - FpParse uintptr - Fw Walker - FpSchema uintptr - FbTemp U8 - _ [7]byte - FzDb uintptr - FzType uintptr - FpName uintptr + FpParse uintptr + Fw Walker + FpSchema uintptr + FbTemp U8 + F__ccgo_pad1 [7]byte + FzDb uintptr + FzType uintptr + FpName uintptr } /* sqlite3.c:14893:9 */ type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ @@ -9948,7 +9961,7 @@ type Expr1 = struct { Fop U8 FaffExpr uint8 Fop2 U8 - _ [1]byte + F__ccgo_pad1 [1]byte Fflags U32 Fu struct{ FzToken uintptr } FpLeft uintptr @@ -9968,63 +9981,63 @@ type ExprList1 = struct { FnExpr int32 FnAlloc int32 Fa [1]struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol U16 FiAlias U16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } } /* sqlite3.c:1331:9 */ type ExprList = ExprList1 /* sqlite3.c:14896:25 */ type FKey1 = struct { - FpFrom uintptr - FpNextFrom uintptr - FzTo uintptr - FpNextTo uintptr - FpPrevTo uintptr - FnCol int32 - FisDeferred U8 - FaAction [2]U8 - _ [1]byte - FapTrigger [2]uintptr - FaCol [1]struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FpFrom uintptr + FpNextFrom uintptr + FzTo uintptr + FpNextTo uintptr + FpPrevTo uintptr + FnCol int32 + FisDeferred U8 + FaAction [2]U8 + F__ccgo_pad1 [1]byte + FapTrigger [2]uintptr + FaCol [1]struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } } /* sqlite3.c:1331:9 */ type FKey = FKey1 /* sqlite3.c:14897:21 */ type FuncDestructor1 = struct { - FnRef int32 - _ [4]byte - FxDestroy uintptr - FpUserData uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FxDestroy uintptr + FpUserData uintptr } /* sqlite3.c:14898:9 */ type FuncDestructor = FuncDestructor1 /* sqlite3.c:14898:31 */ type FuncDef1 = struct { - FnArg I8 - _ [3]byte - FfuncFlags U32 - FpUserData uintptr - FpNext uintptr - FxSFunc uintptr - FxFinalize uintptr - FxValue uintptr - FxInverse uintptr - FzName uintptr - Fu struct{ FpHash uintptr } + FnArg I8 + F__ccgo_pad1 [3]byte + FfuncFlags U32 + FpUserData uintptr + FpNext uintptr + FxSFunc uintptr + FxFinalize uintptr + FxValue uintptr + FxInverse uintptr + FzName uintptr + Fu struct{ FpHash uintptr } } /* sqlite3.c:1331:9 */ type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ @@ -10032,9 +10045,9 @@ type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqlite3.c:14900:9 */ type FuncDefHash = FuncDefHash1 /* sqlite3.c:14900:28 */ type IdList1 = struct { - Fa uintptr - FnId int32 - _ [4]byte + Fa uintptr + FnId int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type IdList = IdList1 /* sqlite3.c:14901:23 */ @@ -10055,59 +10068,59 @@ type Index1 = struct { FnKeyCol U16 FnColumn U16 FonError U8 - _ [1]byte + F__ccgo_pad1 [1]byte FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ - _ [2]byte + F__ccgo_pad2 [2]byte FnSample int32 FnSampleCol int32 FaAvgEq uintptr FaSample uintptr FaiRowEst uintptr FnRowEst0 TRowcnt - _ [4]byte + F__ccgo_pad3 [4]byte FcolNotIdxed Bitmask } /* sqlite3.c:1331:9 */ type Index = Index1 /* sqlite3.c:14902:22 */ type IndexSample1 = struct { - Fp uintptr - Fn int32 - _ [4]byte - FanEq uintptr - FanLt uintptr - FanDLt uintptr + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte + FanEq uintptr + FanLt uintptr + FanDLt uintptr } /* sqlite3.c:1331:9 */ type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */ type KeyInfo1 = struct { - FnRef U32 - Fenc U8 - _ [1]byte - FnKeyField U16 - FnAllField U16 - _ [6]byte - Fdb uintptr - FaSortFlags uintptr - FaColl [1]uintptr + FnRef U32 + Fenc U8 + F__ccgo_pad1 [1]byte + FnKeyField U16 + FnAllField U16 + F__ccgo_pad2 [6]byte + Fdb uintptr + FaSortFlags uintptr + FaColl [1]uintptr } /* sqlite3.c:1331:9 */ type KeyInfo = KeyInfo1 /* sqlite3.c:14905:24 */ type Lookaside1 = struct { - FbDisable U32 - Fsz U16 - FszTrue U16 - FbMalloced U8 - _ [3]byte - FnSlot U32 - FanStat [3]U32 - _ [4]byte - FpInit uintptr - FpFree uintptr - FpSmallInit uintptr - FpSmallFree uintptr - FpMiddle uintptr - FpStart uintptr - FpEnd uintptr + FbDisable U32 + Fsz U16 + FszTrue U16 + FbMalloced U8 + F__ccgo_pad1 [3]byte + FnSlot U32 + FanStat [3]U32 + F__ccgo_pad2 [4]byte + FpInit uintptr + FpFree uintptr + FpSmallInit uintptr + FpSmallFree uintptr + FpMiddle uintptr + FpStart uintptr + FpEnd uintptr } /* sqlite3.c:1331:9 */ type Lookaside = Lookaside1 /* sqlite3.c:14906:26 */ @@ -10115,26 +10128,26 @@ type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.c:1331:9 */ type LookasideSlot = LookasideSlot1 /* sqlite3.c:14907:30 */ type Module1 = struct { - FpModule uintptr - FzName uintptr - FnRefModule int32 - _ [4]byte - FpAux uintptr - FxDestroy uintptr - FpEpoTab uintptr + FpModule uintptr + FzName uintptr + FnRefModule int32 + F__ccgo_pad1 [4]byte + FpAux uintptr + FxDestroy uintptr + FpEpoTab uintptr } /* sqlite3.c:1331:9 */ type Module = Module1 /* sqlite3.c:14908:23 */ type NameContext1 = struct { - FpParse uintptr - FpSrcList uintptr - FuNC struct{ FpEList uintptr } - FpNext uintptr - FnRef int32 - FnNcErr int32 - FncFlags int32 - _ [4]byte - FpWinSelect uintptr + FpParse uintptr + FpSrcList uintptr + FuNC struct{ FpEList uintptr } + FpNext uintptr + FnRef int32 + FnNcErr int32 + FncFlags int32 + F__ccgo_pad1 [4]byte + FpWinSelect uintptr } /* sqlite3.c:14909:9 */ type NameContext = NameContext1 /* sqlite3.c:14909:28 */ @@ -10153,7 +10166,7 @@ type Parse1 = struct { FokConstFactor U8 FdisableLookaside U8 FdisableVtab U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -10163,7 +10176,7 @@ type Parse1 = struct { FiSelfTab int32 FnLabel int32 FnLabelAlloc int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaLabel uintptr FpConstExpr uintptr FconstraintName Token @@ -10174,16 +10187,16 @@ type Parse1 = struct { FnMaxArg int32 FnSelect int32 FnTableLock int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaTableLock uintptr FpAinc uintptr FpToplevel uintptr FpTriggerTab uintptr FpParentParse uintptr Fu1 struct { - _ [0]uint64 - FaddrCrTab int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + FaddrCrTab int32 + F__ccgo_pad2 [4]byte } FnQueryLoop U32 Foldmask U32 @@ -10199,11 +10212,11 @@ type Parse1 = struct { FiPkSortOrder U8 Fexplain U8 FeParseMode U8 - _ [3]byte + F__ccgo_pad4 [3]byte FnVtabLock int32 FnHeight int32 FaddrExplain int32 - _ [4]byte + F__ccgo_pad5 [4]byte FpVList uintptr FpReprepare uintptr FzTail uintptr @@ -10231,7 +10244,7 @@ type PreUpdate1 = struct { Fv uintptr FpCsr uintptr Fop int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaRecord uintptr Fkeyinfo KeyInfo FpUnpacked uintptr @@ -10261,14 +10274,14 @@ type RenameToken1 = struct { type RenameToken = RenameToken1 /* sqlite3.c:14914:28 */ type Returning1 = struct { - FpParse uintptr - FpReturnEL uintptr - FretTrig Trigger - FretTStep TriggerStep - FiRetCur int32 - FnRetCol int32 - FiRetReg int32 - _ [4]byte + FpParse uintptr + FpReturnEL uintptr + FretTrig Trigger + FretTStep TriggerStep + FiRetCur int32 + FnRetCol int32 + FiRetReg int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:14915:9 */ type Returning = Returning1 /* sqlite3.c:14915:26 */ @@ -10295,14 +10308,14 @@ type Savepoint1 = struct { type Savepoint = Savepoint1 /* sqlite3.c:14917:26 */ type Select1 = struct { Fop U8 - _ [1]byte + F__ccgo_pad1 [1]byte FnSelectRow LogEst FselFlags U32 FiLimit int32 FiOffset int32 FselId U32 FaddrOpenEphm [2]int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpEList uintptr FpSrc uintptr FpWhere uintptr @@ -10326,15 +10339,15 @@ type SQLiteThread1 = struct { type SQLiteThread = SQLiteThread1 /* sqlite3.c:14919:29 */ type SelectDest1 = struct { - FeDest U8 - _ [3]byte - FiSDParm int32 - FiSDParm2 int32 - FiSdst int32 - FnSdst int32 - _ [4]byte - FzAffSdst uintptr - FpOrderBy uintptr + FeDest U8 + F__ccgo_pad1 [3]byte + FiSDParm int32 + FiSDParm2 int32 + FiSdst int32 + FnSdst int32 + F__ccgo_pad2 [4]byte + FzAffSdst uintptr + FpOrderBy uintptr } /* sqlite3.c:14920:9 */ type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */ @@ -10349,11 +10362,11 @@ type SrcItem1 = struct { FregReturn int32 FregResult int32 Ffg struct { - _ [0]uint32 - Fjointype U8 - _ [3]byte - FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ - _ [2]byte + F__ccgo_pad1 [0]uint32 + Fjointype U8 + F__ccgo_pad2 [3]byte + FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ + F__ccgo_pad3 [2]byte } FiCursor int32 FpOn uintptr @@ -10389,7 +10402,7 @@ type Table1 = struct { FnRowLogEst LogEst FszTabRow LogEst FkeyConf U8 - _ [1]byte + F__ccgo_pad1 [1]byte FaddColOffset int32 FnModuleArg int32 FazModuleArg uintptr @@ -10404,72 +10417,72 @@ type TableLock1 = struct { FiDb int32 FiTab Pgno FisWriteLock U8 - _ [7]byte + F__ccgo_pad1 [7]byte FzLockName uintptr } /* sqlite3.c:1331:9 */ type TableLock = TableLock1 /* sqlite3.c:14925:26 */ type Token1 = struct { - Fz uintptr - Fn uint32 - _ [4]byte + Fz uintptr + Fn uint32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type Token = Token1 /* sqlite3.c:14926:22 */ type Trigger1 = struct { - FzName uintptr - Ftable uintptr - Fop U8 - Ftr_tm U8 - FbReturning U8 - _ [5]byte - FpWhen uintptr - FpColumns uintptr - FpSchema uintptr - FpTabSchema uintptr - Fstep_list uintptr - FpNext uintptr + FzName uintptr + Ftable uintptr + Fop U8 + Ftr_tm U8 + FbReturning U8 + F__ccgo_pad1 [5]byte + FpWhen uintptr + FpColumns uintptr + FpSchema uintptr + FpTabSchema uintptr + Fstep_list uintptr + FpNext uintptr } /* sqlite3.c:1331:9 */ type Trigger = Trigger1 /* sqlite3.c:14928:24 */ type TriggerPrg1 = struct { - FpTrigger uintptr - FpNext uintptr - FpProgram uintptr - Forconf int32 - FaColmask [2]U32 - _ [4]byte + FpTrigger uintptr + FpNext uintptr + FpProgram uintptr + Forconf int32 + FaColmask [2]U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */ type TriggerStep1 = struct { - Fop U8 - Forconf U8 - _ [6]byte - FpTrig uintptr - FpSelect uintptr - FzTarget uintptr - FpFrom uintptr - FpWhere uintptr - FpExprList uintptr - FpIdList uintptr - FpUpsert uintptr - FzSpan uintptr - FpNext uintptr - FpLast uintptr + Fop U8 + Forconf U8 + F__ccgo_pad1 [6]byte + FpTrig uintptr + FpSelect uintptr + FzTarget uintptr + FpFrom uintptr + FpWhere uintptr + FpExprList uintptr + FpIdList uintptr + FpUpsert uintptr + FzSpan uintptr + FpNext uintptr + FpLast uintptr } /* sqlite3.c:1331:9 */ type TriggerStep = TriggerStep1 /* sqlite3.c:14930:28 */ type UnpackedRecord1 = struct { - FpKeyInfo uintptr - FaMem uintptr - FnField U16 - Fdefault_rc I8 - FerrCode U8 - Fr1 I8 - Fr2 I8 - FeqSeen U8 - _ [1]byte + FpKeyInfo uintptr + FaMem uintptr + FnField U16 + Fdefault_rc I8 + FerrCode U8 + Fr1 I8 + Fr2 I8 + FeqSeen U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:1331:9 */ type UnpackedRecord = UnpackedRecord1 /* sqlite3.c:14931:31 */ @@ -10480,14 +10493,14 @@ type Upsert1 = struct { FpUpsertWhere uintptr FpNextUpsert uintptr FisDoUpdate U8 - _ [7]byte + F__ccgo_pad1 [7]byte FpToFree uintptr FpUpsertIdx uintptr FpUpsertSrc uintptr FregData int32 FiDataCur int32 FiIdxCur int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:1331:9 */ type Upsert = Upsert1 /* sqlite3.c:14932:23 */ @@ -10498,19 +10511,19 @@ type VTable1 = struct { FnRef int32 FbConstraint U8 FeVtabRisk U8 - _ [2]byte + F__ccgo_pad1 [2]byte FiSavepoint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpNext uintptr } /* sqlite3.c:1331:9 */ type VTable = VTable1 /* sqlite3.c:14933:23 */ type VtabCtx1 = struct { - FpVTable uintptr - FpTab uintptr - FpPrior uintptr - FbDeclared int32 - _ [4]byte + FpVTable uintptr + FpTab uintptr + FpPrior uintptr + FbDeclared int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type VtabCtx = VtabCtx1 /* sqlite3.c:14934:24 */ @@ -10521,7 +10534,7 @@ type Walker1 = struct { FxSelectCallback2 uintptr FwalkerDepth int32 FeCode U16 - _ [2]byte + F__ccgo_pad1 [2]byte Fu struct{ FpNC uintptr } } /* sqlite3.c:14893:9 */ @@ -10543,7 +10556,7 @@ type WhereInfo1 = struct { FeOnePass U8 FeDistinct U8 FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ - _ [1]byte + F__ccgo_pad1 [1]byte FnRowOut LogEst FiTop int32 FiEndWhere int32 @@ -10566,7 +10579,7 @@ type Window1 = struct { FeEnd U8 FbImplicitFrame U8 FeExclude U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpStart uintptr FpEnd uintptr FppThis uintptr @@ -10586,7 +10599,7 @@ type Window1 = struct { FregStartRowid int32 FregEndRowid int32 FbExprArgs U8 - _ [3]byte + F__ccgo_pad2 [3]byte } /* sqlite3.c:1331:9 */ type Window = Window1 /* sqlite3.c:14937:23 */ @@ -10675,7 +10688,7 @@ type Pager1 = struct { FnRec int32 FcksumInit U32 FnSubRec U32 - _ [4]byte + F__ccgo_pad1 [4]byte FpInJournal uintptr Ffd uintptr Fjfd uintptr @@ -10688,7 +10701,7 @@ type Pager1 = struct { FiDataVersion U32 FdbFileVers [16]uint8 FnMmapOut int32 - _ [4]byte + F__ccgo_pad2 [4]byte FszMmap Sqlite3_int64 FpMmapFreelist uintptr FnExtra U16 @@ -10697,7 +10710,7 @@ type Pager1 = struct { FsectorSize U32 FpageSize int32 FmxPgno Pgno - _ [4]byte + F__ccgo_pad3 [4]byte FjournalSizeLimit I64 FzFilename uintptr FzJournal uintptr @@ -10821,7 +10834,7 @@ type BtCursor1 = struct { FcurIntKey U8 Fix U16 FaiIdx [19]U16 - _ [2]byte + F__ccgo_pad1 [2]byte FpKeyInfo uintptr FpPage uintptr FapPage [19]uintptr @@ -10840,43 +10853,43 @@ type BtShared1 = struct { FinTransaction U8 Fmax1bytePayload U8 FnReserveWanted U8 - _ [1]byte + F__ccgo_pad1 [1]byte FbtsFlags U16 FmaxLocal U16 FminLocal U16 FmaxLeaf U16 FminLeaf U16 - _ [2]byte + F__ccgo_pad2 [2]byte FpageSize U32 FusableSize U32 FnTransaction int32 FnPage U32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSchema uintptr FxFreeSchema uintptr Fmutex uintptr FpHasContent uintptr FnRef int32 - _ [4]byte + F__ccgo_pad4 [4]byte FpNext uintptr FpLock uintptr FpWriter uintptr FpTmpSpace uintptr FnPreformatSize int32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* sqlite3.c:1331:9 */ type BtShared = BtShared1 /* sqlite3.c:15269:25 */ type BtreePayload1 = struct { - FpKey uintptr - FnKey Sqlite3_int64 - FpData uintptr - FaMem uintptr - FnMem U16 - _ [2]byte - FnData int32 - FnZero int32 - _ [4]byte + FpKey uintptr + FnKey Sqlite3_int64 + FpData uintptr + FaMem uintptr + FnMem U16 + F__ccgo_pad1 [2]byte + FnData int32 + FnZero int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:15270:9 */ type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */ @@ -10911,7 +10924,7 @@ type Vdbe1 = struct { FpNext uintptr FpParse uintptr FnVar YnVar - _ [2]byte + F__ccgo_pad1 [2]byte FiVdbeMagic U32 FnMem int32 FnCursor int32 @@ -10920,7 +10933,7 @@ type Vdbe1 = struct { Frc int32 FnChange int32 FiStatement int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiCurrentTime I64 FnFkConstraint I64 FnStmtDefCons I64 @@ -10942,9 +10955,9 @@ type Vdbe1 = struct { FminWriteFileFormat U8 FprepFlags U8 FdoingRerun U8 - _ [2]byte + F__ccgo_pad3 [2]byte Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ - _ [2]byte + F__ccgo_pad4 [2]byte FbtreeMask YDbMask FlockMask YDbMask FaCounter [7]U32 @@ -10988,14 +11001,14 @@ type Vdbe = Vdbe1 /* sqlite3.c:15668:21 */ // for the VdbeOp definition. type Mem = sqlite3_value /* sqlite3.c:15674:30 */ type SubProgram1 = struct { - FaOp uintptr - FnOp int32 - FnMem int32 - FnCsr int32 - _ [4]byte - FaOnce uintptr - Ftoken uintptr - FpNext uintptr + FaOp uintptr + FnOp int32 + FnMem int32 + FnCsr int32 + F__ccgo_pad1 [4]byte + FaOnce uintptr + Ftoken uintptr + FpNext uintptr } /* sqlite3.c:1331:9 */ type SubProgram = SubProgram1 /* sqlite3.c:15675:27 */ @@ -11011,9 +11024,9 @@ type VdbeOp1 = struct { Fp2 int32 Fp3 int32 Fp4 struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } } /* sqlite3.c:1331:9 */ @@ -11021,9 +11034,9 @@ type VdbeOp1 = struct { // and as many as three operands. The instruction is recorded // as an instance of the following structure: type p4union = struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:1331:9 */ type VdbeOp = VdbeOp1 /* sqlite3.c:15721:23 */ @@ -11106,20 +11119,20 @@ type RecordCompare = uintptr /* sqlite3.c:16156:13 */ type PgHdr = PgHdr2 /* sqlite3.c:16289:22 */ type PCache2 = struct { - FpDirty uintptr - FpDirtyTail uintptr - FpSynced uintptr - FnRefSum int32 - FszCache int32 - FszSpill int32 - FszPage int32 - FszExtra int32 - FbPurgeable U8 - FeCreate U8 - _ [2]byte - FxStress uintptr - FpStress uintptr - FpCache uintptr + FpDirty uintptr + FpDirtyTail uintptr + FpSynced uintptr + FnRefSum int32 + FszCache int32 + FszSpill int32 + FszPage int32 + FszExtra int32 + FbPurgeable U8 + FeCreate U8 + F__ccgo_pad1 [2]byte + FxStress uintptr + FpStress uintptr + FpCache uintptr } /* sqlite3.c:1331:9 */ type PCache = PCache2 /* sqlite3.c:16290:23 */ @@ -11138,9 +11151,9 @@ type sqlite3InitInfo = struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } /* sqlite3.c:1331:9 */ @@ -11196,9 +11209,9 @@ type sqlite3InitInfo = struct { // A list of all children for a table named Z (which might not even exist) // is held in Schema.fkeyHash with a hash key of Z. type sColMap = struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } /* sqlite3.c:1331:9 */ // An instance of this structure contains information needed to generate @@ -11219,7 +11232,7 @@ type AggInfo_col = struct { FiMem int32 FiColumn I16 FiSorterColumn I16 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // An instance of this structure contains information needed to generate @@ -11234,12 +11247,12 @@ type AggInfo_col = struct { // original Select structure that describes the SELECT statement. These // fields do not need to be freed when deallocating the AggInfo structure. type AggInfo_func = struct { - FpFExpr uintptr - FpFunc uintptr - FiMem int32 - FiDistinct int32 - FiDistAddr int32 - _ [4]byte + FpFExpr uintptr + FpFunc uintptr + FiMem int32 + FiDistinct int32 + FiDistAddr int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // The datatype ynVar is a signed integer, either 16-bit or 32-bit. @@ -11303,20 +11316,20 @@ type YnVar = I16 /* sqlite3.c:18212:13 */ // ENAME_SPAN Text of the original result set // expression. type ExprList_item = struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol U16 FiAlias U16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:1331:9 */ // Allowed values for Expr.a.eEName @@ -11335,9 +11348,9 @@ type ExprList_item = struct { // // If "a" is the k-th column of table "t", then IdList.a[0].idx==k. type IdList_item = struct { - FzName uintptr - Fidx int32 - _ [4]byte + FzName uintptr + Fidx int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // The yDbMask datatype for the bitmask of all attached databases. @@ -11346,14 +11359,14 @@ type YDbMask = uint32 /* sqlite3.c:18969:24 */ // A pointer to this structure is used to communicate information // from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. type InitData = struct { - Fdb uintptr - FpzErrMsg uintptr - FiDb int32 - Frc int32 - FmInitFlags U32 - FnInitRow U32 - FmxPage Pgno - _ [4]byte + Fdb uintptr + FpzErrMsg uintptr + FiDb int32 + Frc int32 + FmInitFlags U32 + FnInitRow U32 + FmxPage Pgno + F__ccgo_pad1 [4]byte } /* sqlite3.c:19327:3 */ // Allowed values for mInitFlags @@ -11378,7 +11391,7 @@ type Sqlite3Config = struct { FbUseCis U8 FbSmallMalloc U8 FbExtraSchemaChecks U8 - _ [2]byte + F__ccgo_pad1 [2]byte FmxStrlen int32 FneverCorrupt int32 FszLookaside int32 @@ -11391,7 +11404,7 @@ type Sqlite3Config = struct { FnHeap int32 FmnReq int32 FmxReq int32 - _ [4]byte + F__ccgo_pad2 [4]byte FszMmap Sqlite3_int64 FmxMmap Sqlite3_int64 FpPage uintptr @@ -11406,7 +11419,7 @@ type Sqlite3Config = struct { FisMallocInit int32 FisPCacheInit int32 FnRefInitMutex int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpInitMutex uintptr FxLog uintptr FpLogArg uintptr @@ -11435,11 +11448,11 @@ type Sqlite3Config = struct { // Context pointer passed down through the tree-walk. type SrcCount = struct { - FpSrc uintptr - FiSrcInner int32 - FnThis int32 - FnOther int32 - _ [4]byte + FpSrc uintptr + FiSrcInner int32 + FnThis int32 + FnOther int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:19454:5 */ // This macro is used inside of assert() statements to indicate that @@ -11459,9 +11472,9 @@ type SrcCount = struct { // Context pointer passed down through the tree-walk. type IdxCover = struct { - FpIdx uintptr - FiCur int32 - _ [4]byte + FpIdx uintptr + FiCur int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:19457:5 */ // This macro is used inside of assert() statements to indicate that @@ -11536,7 +11549,7 @@ type WhereConst1 = struct { FnConst int32 FnChng int32 FbHasAffBlob int32 - _ [4]byte + F__ccgo_pad1 [4]byte FapExpr uintptr } /* sqlite3.c:19462:5 */ @@ -11859,7 +11872,7 @@ type VdbeSorter1 = struct { FiPrev U8 FnTask U8 FtypeMask U8 - _ [3]byte + F__ccgo_pad1 [3]byte FaTask [1]SortSubtask } /* sqlite3.c:21218:9 */ @@ -11894,11 +11907,11 @@ type VdbeCursor1 = struct { FnullRow U8 FdeferredMoveto U8 FisTable U8 - _ [3]byte + F__ccgo_pad1 [3]byte FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ - _ [1]byte + F__ccgo_pad2 [1]byte FseekHit U16 - _ [4]byte + F__ccgo_pad3 [4]byte FpBtx uintptr FseqCount I64 FaAltMap uintptr @@ -11911,14 +11924,14 @@ type VdbeCursor1 = struct { FpgnoRoot Pgno FnField I16 FnHdrParsed U16 - _ [4]byte + F__ccgo_pad4 [4]byte FmovetoTarget I64 FaOffset uintptr FaRow uintptr FpayloadSize U32 FszRow U32 FaType [1]U32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* sqlite3.c:1331:9 */ // Types of VDBE cursors @@ -12020,7 +12033,7 @@ type ScanStatus1 = struct { FaddrVisit int32 FiSelectID int32 FnEst LogEst - _ [6]byte + F__ccgo_pad1 [6]byte FzName uintptr } /* sqlite3.c:21514:9 */ @@ -12279,7 +12292,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p if pSchema != uintptr(0) { var p uintptr - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fcount) + (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fcount) + (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fcount))) @@ -12461,7 +12474,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -12493,15 +12506,6 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -12538,11 +12542,6 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -12650,43 +12649,43 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // These definitions from linux/timex.h as of 3.18. type timex = struct { - Fmodes uint32 - _ [4]byte - Foffset X__syscall_slong_t - Ffreq X__syscall_slong_t - Fmaxerror X__syscall_slong_t - Festerror X__syscall_slong_t - Fstatus int32 - _ [4]byte - Fconstant X__syscall_slong_t - Fprecision X__syscall_slong_t - Ftolerance X__syscall_slong_t - Ftime struct { + Fmodes uint32 + F__ccgo_pad1 [4]byte + Foffset X__syscall_slong_t + Ffreq X__syscall_slong_t + Fmaxerror X__syscall_slong_t + Festerror X__syscall_slong_t + Fstatus int32 + F__ccgo_pad2 [4]byte + Fconstant X__syscall_slong_t + Fprecision X__syscall_slong_t + Ftolerance X__syscall_slong_t + Ftime struct { Ftv_sec X__time_t Ftv_usec X__suseconds_t } - Ftick X__syscall_slong_t - Fppsfreq X__syscall_slong_t - Fjitter X__syscall_slong_t - Fshift int32 - _ [4]byte - Fstabil X__syscall_slong_t - Fjitcnt X__syscall_slong_t - Fcalcnt X__syscall_slong_t - Ferrcnt X__syscall_slong_t - Fstbcnt X__syscall_slong_t - Ftai int32 - __164 uint32 /* int : 32 */ - __168 uint32 /* int : 32 */ - __172 uint32 /* int : 32 */ - __176 uint32 /* int : 32 */ - __180 uint32 /* int : 32 */ - __184 uint32 /* int : 32 */ - __188 uint32 /* int : 32 */ - __192 uint32 /* int : 32 */ - __196 uint32 /* int : 32 */ - __200 uint32 /* int : 32 */ - __204 uint32 /* int : 32 */ + Ftick X__syscall_slong_t + Fppsfreq X__syscall_slong_t + Fjitter X__syscall_slong_t + Fshift int32 + F__ccgo_pad3 [4]byte + Fstabil X__syscall_slong_t + Fjitcnt X__syscall_slong_t + Fcalcnt X__syscall_slong_t + Ferrcnt X__syscall_slong_t + Fstbcnt X__syscall_slong_t + Ftai int32 + __164 uint32 /* int : 32 */ + __168 uint32 /* int : 32 */ + __172 uint32 /* int : 32 */ + __176 uint32 /* int : 32 */ + __180 uint32 /* int : 32 */ + __184 uint32 /* int : 32 */ + __188 uint32 /* int : 32 */ + __192 uint32 /* int : 32 */ + __196 uint32 /* int : 32 */ + __200 uint32 /* int : 32 */ + __204 uint32 /* int : 32 */ } /* timex.h:26:1 */ // Many of the typedefs and structs whose official home is this header @@ -12714,18 +12713,18 @@ type timex = struct { // ISO C `broken-down time' structure. type tm = struct { - Ftm_sec int32 - Ftm_min int32 - Ftm_hour int32 - Ftm_mday int32 - Ftm_mon int32 - Ftm_year int32 - Ftm_wday int32 - Ftm_yday int32 - Ftm_isdst int32 - _ [4]byte - Ftm_gmtoff int64 - Ftm_zone uintptr + Ftm_sec int32 + Ftm_min int32 + Ftm_hour int32 + Ftm_mday int32 + Ftm_mon int32 + Ftm_year int32 + Ftm_wday int32 + Ftm_yday int32 + Ftm_isdst int32 + F__ccgo_pad1 [4]byte + Ftm_gmtoff int64 + Ftm_zone uintptr } /* struct_tm.h:7:1 */ // NB: Include guard matches what uses. @@ -12770,22 +12769,22 @@ type itimerspec = struct { // A structure for holding a single date and time. type DateTime1 = struct { - FiJD Sqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - _ [1]byte + FiJD Sqlite3_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 + F__ccgo_pad1 [1]byte } /* sqlite3.c:22238:9 */ // The MSVC CRT on Windows CE may not have a localtime() function. @@ -13062,10 +13061,10 @@ func computeJD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22423:13: */ B = ((2 - A) + (A / 4)) X1 = ((36525 * (Y + 4716)) / 100) X2 = ((306001 * (M + 1)) / 10000) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*DateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (libc.Int64FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) if (*DateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) -= (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Ftz * 60000)) (*DateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -13155,7 +13154,7 @@ func setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { /* sqlite3.c:22526: (*DateTime)(unsafe.Pointer(p)).Fs = r (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(1) if (r >= 0.0) && (r < 5373484.5) { - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64((r * 86400000.0) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64((r * 86400000.0) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) } } @@ -13228,13 +13227,13 @@ func computeYMD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22591:13: */ return } else { Z = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) / int64(86400000))) - A = (int32((float64(Z) - 1867216.25) / 36524.25)) + A = (libc.Int32FromFloat64((float64(Z) - 1867216.25) / 36524.25)) A = (((Z + 1) + A) - (A / 4)) B = (A + 1524) - C = (int32((float64(B) - 122.1) / 365.25)) + C = (libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)) D = ((36525 * (C & 32767)) / 100) - E = (int32((float64(B - D)) / 30.6001)) - X1 = (int32(30.6001 * float64(E))) + E = (libc.Int32FromFloat64((float64(B - D)) / 30.6001)) + X1 = (libc.Int32FromFloat64(30.6001 * float64(E))) (*DateTime)(unsafe.Pointer(p)).FD = ((B - D) - X1) (*DateTime)(unsafe.Pointer(p)).FM = func() int32 { if E < 14 { @@ -13261,7 +13260,7 @@ func computeHMS(tls *libc.TLS, p uintptr) { /* sqlite3.c:22620:13: */ computeJD(tls, p) s = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) % int64(86400000))) (*DateTime)(unsafe.Pointer(p)).Fs = (float64(s) / 1000.0) - s = int32((*DateTime)(unsafe.Pointer(p)).Fs) + s = libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs) *(*float64)(unsafe.Pointer(p + 32 /* &.s */)) -= (float64(s)) (*DateTime)(unsafe.Pointer(p)).Fh = (s / 3600) s = s - ((*DateTime)(unsafe.Pointer(p)).Fh * 3600) @@ -13358,7 +13357,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fm = 0 (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = 0.0 } else { - var s int32 = (int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) + var s int32 = (libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = float64(s) } (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Ftz = 0 @@ -13394,12 +13393,12 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite // Where NNN is an arbitrary floating-point number and "days" can be one // of several units of time. var aXformType = [6]struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{ {FnName: U8(6), FzName: ts + 384 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, {FnName: U8(6), FzName: ts + 391 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, @@ -13463,7 +13462,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 @@ -13628,12 +13627,12 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i rRounder = +0.5 } for i = 0; i < (int32(uint64(unsafe.Sizeof(aXformType)) / uint64(unsafe.Sizeof(struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{})))); i++ { if (((int32(aXformType[i].FnName) == n) && (Xsqlite3_strnicmp(tls, aXformType[i].FzName, z, n) == 0)) && @@ -13669,7 +13668,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i } } computeJD(tls, p) - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (Sqlite3_int64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (libc.Int64FromFloat64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 break } @@ -13761,7 +13760,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* computeYMD_HMS(tls, bp+48 /* &x */) Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ - libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) + libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13779,7 +13778,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]uint8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13997,7 +13996,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -14128,50 +14127,68 @@ var aDateTimeFuncs = [8]FuncDef{ // C++ instead of plain old C. func Xsqlite3OsClose(tls *libc.TLS, pId uintptr) { /* sqlite3.c:23507:21: */ if (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods + 8 /* &.xClose */))))(tls, pId) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})).f(tls, pId) (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0) } } func Xsqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23513:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 16 /* &.xRead */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23517:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 24 /* &.xWrite */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsTruncate(tls *libc.TLS, id uintptr, size I64) int32 { /* sqlite3.c:23521:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 32 /* &.xTruncate */))))(tls, id, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})).f(tls, id, size) } func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:23524:20: */ if flags != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 40 /* &.xSync */))))(tls, id, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})).f(tls, id, flags) } return SQLITE_OK } func Xsqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c:23528:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 48 /* &.xFileSize */))))(tls, id, pSize) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})).f(tls, id, pSize) } func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23532:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 56 /* &.xLock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})).f(tls, id, lockType) } func Xsqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23536:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 64 /* &.xUnlock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})).f(tls, id, lockType) } func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:23539:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, id, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})).f(tls, id, pResOut) } // Use sqlite3OsFileControl() when we are doing something that might fail @@ -14184,12 +14201,16 @@ func Xsqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) in if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) { return SQLITE_NOTFOUND } - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } func Xsqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) { /* sqlite3.c:23580:21: */ if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } } @@ -14197,41 +14218,55 @@ func Xsqlite3OsSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23584: var xSectorSize uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize return func() int32 { if xSectorSize != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xSectorSize)))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSectorSize})).f(tls, id) } return SQLITE_DEFAULT_SECTOR_SIZE }() } func Xsqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23588:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})).f(tls, id) } func Xsqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) int32 { /* sqlite3.c:23592:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 112 /* &.xShmLock */))))(tls, id, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})).f(tls, id, offset, n, flags) } func Xsqlite3OsShmBarrier(tls *libc.TLS, id uintptr) { /* sqlite3.c:23595:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 120 /* &.xShmBarrier */))))(tls, id) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})).f(tls, id) } func Xsqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) int32 { /* sqlite3.c:23598:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 128 /* &.xShmUnmap */))))(tls, id, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})).f(tls, id, deleteFlag) } func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* sqlite3.c:23601:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 104 /* &.xShmMap */))))(tls, id, iPage, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})).f(tls, id, iPage, pgsz, bExtend, pp) } // The real implementation of xFetch and xUnfetch func Xsqlite3OsFetch(tls *libc.TLS, id uintptr, iOff I64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:23615:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 136 /* &.xFetch */))))(tls, id, iOff, iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})).f(tls, id, iOff, iAmt, pp) } func Xsqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:23619:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 144 /* &.xUnfetch */))))(tls, id, iOff, p) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})).f(tls, id, iOff, p) } // The next group of routines are convenience wrappers around the @@ -14243,7 +14278,9 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f // down into the VFS layer. Some SQLITE_OPEN_ flags (for example, // SQLITE_OPEN_FULLMUTEX or SQLITE_OPEN_SHAREDCACHE) are blocked before // reaching the VFS. - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) return rc } @@ -14251,38 +14288,52 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f func Xsqlite3OsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:23654:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete != uintptr(0) { - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync) } return SQLITE_OK } func Xsqlite3OsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:23659:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut) } func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* sqlite3.c:23668:20: */ *(*uint8)(unsafe.Pointer(zPathOut)) = uint8(0) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut) } func Xsqlite3OsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:23679:21: */ // tag-20210611-1 - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath) } func Xsqlite3OsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) { /* sqlite3.c:23684:21: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zBufOut) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zBufOut) } func Xsqlite3OsDlSym(tls *libc.TLS, pVfs uintptr, pHdle uintptr, zSym uintptr) uintptr { /* sqlite3.c:23687:21: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pHdle, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pHdle, zSym) } func Xsqlite3OsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:23690:21: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle) } func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:23694:20: */ @@ -14294,19 +14345,25 @@ func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uint libc.Xmemcpy(tls, zBufOut, (uintptr(unsafe.Pointer(&Xsqlite3Config)) + 420 /* &.iPrngSeed */), uint64(nByte)) return SQLITE_OK } else { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 104 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut) } return int32(0) } func Xsqlite3OsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:23705:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro) } func Xsqlite3OsGetLastError(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:23708:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError != 0 { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, 0, uintptr(0)) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, 0, uintptr(0)) } return 0 } @@ -14322,12 +14379,16 @@ func Xsqlite3OsCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) i // will fall back to xCurrentTime() if xCurrentTimeInt64() is // unavailable. if ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion >= 2) && ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64 != 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, pTimeOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, pTimeOut) } else { // var r float64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, bp /* &r */) - *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, bp /* &r */) + *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) } return rc } @@ -14537,14 +14598,14 @@ func Xsqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd u func Xsqlite3BeginBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23942:21: */ if sqlite3Hooks.FxBenignBegin != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) /* &.xBenignBegin */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignBegin})).f(tls) } } func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23948:21: */ if sqlite3Hooks.FxBenignEnd != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) + 8 /* &.xBenignEnd */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignEnd})).f(tls) } } @@ -14905,7 +14966,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ (*Sqlite3_mutex_methods)(unsafe.Pointer(pTo)).FxMutexAlloc = (*Sqlite3_mutex_methods)(unsafe.Pointer(pFrom)).FxMutexAlloc } - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexInit})).f(tls) return rc } @@ -14915,7 +14976,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ func Xsqlite3MutexEnd(tls *libc.TLS) int32 { /* sqlite3.c:26379:20: */ var rc int32 = SQLITE_OK if Xsqlite3Config.Fmutex.FxMutexEnd != 0 { - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 8 /* &.xMutexEnd */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnd})).f(tls) } return rc @@ -14930,7 +14991,9 @@ func Xsqlite3_mutex_alloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26395: return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30: */ @@ -14938,14 +15001,16 @@ func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30 return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } // Free a dynamic mutex. func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 24 /* &.xMutexFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexFree})).f(tls, p) } } @@ -14954,7 +15019,7 @@ func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ func Xsqlite3_mutex_enter(tls *libc.TLS, p uintptr) { /* sqlite3.c:26427:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 32 /* &.xMutexEnter */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnter})).f(tls, p) } } @@ -14964,7 +15029,9 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: var rc int32 = SQLITE_OK if p != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 40 /* &.xMutexTry */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexTry})).f(tls, p) } return rc } @@ -14976,7 +15043,7 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: func Xsqlite3_mutex_leave(tls *libc.TLS, p uintptr) { /* sqlite3.c:26453:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 48 /* &.xMutexLeave */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexLeave})).f(tls, p) } } @@ -15137,7 +15204,7 @@ type Mem0Global = struct { FalarmThreshold Sqlite3_int64 FhardLimit Sqlite3_int64 FnearlyFull int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:27830:19 */ // Default value of the hard heap limit. 0 means "no limit". @@ -15244,7 +15311,9 @@ func Xsqlite3MallocInit(tls *libc.TLS) int32 { /* sqlite3.c:27944:20: */ Xsqlite3Config.FpPage = uintptr(0) Xsqlite3Config.FszPage = 0 } - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 40 /* &.xInit */))))(tls, Xsqlite3Config.Fm.FpAppData) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxInit})).f(tls, Xsqlite3Config.Fm.FpAppData) if rc != SQLITE_OK { libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -15261,7 +15330,7 @@ func Xsqlite3HeapNearlyFull(tls *libc.TLS) int32 { /* sqlite3.c:27965:20: */ // Deinitialize the memory allocation subsystem. func Xsqlite3MallocEnd(tls *libc.TLS) { /* sqlite3.c:27972:21: */ if Xsqlite3Config.Fm.FxShutdown != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 48 /* &.xShutdown */))))(tls, Xsqlite3Config.Fm.FpAppData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxShutdown})).f(tls, Xsqlite3Config.Fm.FpAppData) } libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -15315,7 +15384,7 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 // mode and specifically when the DMD "Dark Matter Detector" is enabled // or else a crash results. Hence, do not attempt to optimize out the // following xRoundup() call. - nFull = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, n) + nFull = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, n) Xsqlite3StatusHighwater(tls, SQLITE_STATUS_MALLOC_SIZE, n) if mem0.FalarmThreshold > int64(0) { @@ -15334,10 +15403,14 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32(0), 0) } } - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) if (p == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, nFull) - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) } if p != 0 { nFull = Xsqlite3MallocSize(tls, p) @@ -15367,7 +15440,9 @@ func Xsqlite3Malloc(tls *libc.TLS, n U64) uintptr { /* sqlite3.c:28062:21: */ mallocWithAlarm(tls, int32(n), bp /* &p */) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, int32(n)) + *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, int32(n)) } // IMP: R-11148-40995 return *(*uintptr)(unsafe.Pointer(bp /* p */)) @@ -15402,7 +15477,9 @@ func isLookaside(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:2810 // sqlite3Malloc() or sqlite3_malloc(). func Xsqlite3MallocSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:28115:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func lookasideMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:28119:12: */ @@ -15426,13 +15503,17 @@ func Xsqlite3DbMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit } } } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func Xsqlite3_msize(tls *libc.TLS, p uintptr) Sqlite3_uint64 { /* sqlite3.c:28155:27: */ if p != 0 { - return uint64((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p)) + return uint64((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p)) } return uint64(0) } @@ -15447,10 +15528,10 @@ func Xsqlite3_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:28164:17: */ Xsqlite3_mutex_enter(tls, mem0.Fmutex) Xsqlite3StatusDown(tls, SQLITE_STATUS_MEMORY_USED, Xsqlite3MallocSize(tls, p)) Xsqlite3StatusDown(tls, SQLITE_STATUS_MALLOC_COUNT, 1) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) } } @@ -15518,7 +15599,7 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit // IMPLEMENTATION-OF: R-46199-30249 SQLite guarantees that the second // argument to xRealloc is always a value returned by a prior call to // xRoundup. - nNew = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(nBytes)) + nNew = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(nBytes)) if nOld == nNew { pNew = pOld } else if Xsqlite3Config.FbMemstat != 0 { @@ -15533,10 +15614,14 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit return uintptr(0) } } - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) if (pNew == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, int32(nBytes)) - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } if pNew != 0 { nNew = Xsqlite3MallocSize(tls, pNew) @@ -15544,7 +15629,9 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit } Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } // IMP: R-11148-40995 return pNew @@ -17839,7 +17926,9 @@ func renderLogMsg(tls *libc.TLS, iErrCode int32, zFormat uintptr, ap Va_list) { Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+32 /* &zMsg[0] */, int32(unsafe.Sizeof([210]uint8{})), 0) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 376 /* &.xLog */))))(tls, Xsqlite3Config.FpLogArg, iErrCode, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.FxLog})).f(tls, Xsqlite3Config.FpLogArg, iErrCode, Xsqlite3StrAccumFinish(tls, bp /* &acc */)) } @@ -18067,7 +18156,9 @@ func Xsqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui (*SQLiteThread)(unsafe.Pointer(p)).FpIn = pIn } else { (*SQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0) - (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&xTask)))(tls, pIn) + (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xTask})).f(tls, pIn) } *(*uintptr)(unsafe.Pointer(ppThread)) = p return SQLITE_OK @@ -18080,7 +18171,9 @@ func Xsqlite3ThreadJoin(tls *libc.TLS, p uintptr, ppOut uintptr) int32 { /* sqli return SQLITE_NOMEM } if (*SQLiteThread)(unsafe.Pointer(p)).FxTask != 0 { - *(*uintptr)(unsafe.Pointer(ppOut)) = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((p /* &.xTask */))))(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) + *(*uintptr)(unsafe.Pointer(ppOut)) = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*SQLiteThread)(unsafe.Pointer(p)).FxTask})).f(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SQLiteThread)(unsafe.Pointer(p)).FpResult } @@ -18972,7 +19065,7 @@ type Double_t = float64 /* math.h:153:16 */ func Xsqlite3FaultSim(tls *libc.TLS, iTest int32) int32 { /* sqlite3.c:31735:20: */ var xCallback uintptr = Xsqlite3Config.FxTestCallback if xCallback != 0 { - return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&xCallback)))(tls, iTest) + return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, iTest) } return SQLITE_OK } @@ -21735,23 +21828,23 @@ type statx = struct { // Not necessary, we always have 64-bit offsets. type flock = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start X__off_t - Fl_len X__off_t - Fl_pid X__pid_t - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start X__off_t + Fl_len X__off_t + Fl_pid X__pid_t + F__ccgo_pad2 [4]byte } /* fcntl.h:37:1 */ type flock64 = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start X__off64_t - Fl_len X__off64_t - Fl_pid X__pid_t - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start X__off64_t + Fl_len X__off64_t + Fl_pid X__pid_t + F__ccgo_pad2 [4]byte } /* fcntl.h:52:1 */ // Include generic Linux declarations. @@ -21804,7 +21897,7 @@ type flock64 = struct { // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -21836,15 +21929,6 @@ type flock64 = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -21881,11 +21965,6 @@ type flock64 = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -21981,7 +22060,7 @@ type f_owner_ex = struct { // File handle structure. type file_handle = struct { - _ [0]uint32 + F__ccgo_pad1 [0]uint32 Fhandle_bytes uint32 Fhandle_type int32 } /* fcntl-linux.h:357:1 */ @@ -22151,13 +22230,13 @@ type winsize = struct { } /* ioctl-types.h:27:1 */ type termio = struct { - Fc_iflag uint16 - Fc_oflag uint16 - Fc_cflag uint16 - Fc_lflag uint16 - Fc_line uint8 - Fc_cc [8]uint8 - _ [1]byte + Fc_iflag uint16 + Fc_oflag uint16 + Fc_cflag uint16 + Fc_lflag uint16 + Fc_line uint8 + Fc_cc [8]uint8 + F__ccgo_pad1 [1]byte } /* ioctl-types.h:36:1 */ // Copyright (C) 1991-2020 Free Software Foundation, Inc. @@ -22522,7 +22601,7 @@ type termio = struct { // Never include this file directly; use instead. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -22554,15 +22633,6 @@ type termio = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -22599,11 +22669,6 @@ type termio = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -22768,13 +22833,13 @@ type Error_t = int32 /* error_t.h:22:13 */ // Forward references type unixShm = struct { - FpShmNode uintptr - FpNext uintptr - FhasMutex U8 - Fid U8 - FsharedMask U16 - FexclMask U16 - _ [2]byte + FpShmNode uintptr + FpNext uintptr + FhasMutex U8 + Fid U8 + FsharedMask U16 + FexclMask U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:34057:9 */ // Try to determine if gethostuuid() is available based on standard @@ -22810,20 +22875,20 @@ type unixShm = struct { // Forward references type UnixShm = unixShm /* sqlite3.c:34057:24 */ // Connection shared memory type unixShmNode = struct { - FpInode uintptr - FpShmMutex uintptr - FzFilename uintptr - FhShm int32 - FszRegion int32 - FnRegion U16 - FisReadonly U8 - FisUnlocked U8 - _ [4]byte - FapRegion uintptr - FnRef int32 - _ [4]byte - FpFirst uintptr - FaLock [8]int32 + FpInode uintptr + FpShmMutex uintptr + FzFilename uintptr + FhShm int32 + FszRegion int32 + FnRegion U16 + FisReadonly U8 + FisUnlocked U8 + F__ccgo_pad1 [4]byte + FapRegion uintptr + FnRef int32 + F__ccgo_pad2 [4]byte + FpFirst uintptr + FaLock [8]int32 } /* sqlite3.c:34057:9 */ // Connection shared memory @@ -22838,10 +22903,10 @@ type unixInodeInfo = struct { FnLock int32 FeFileLock uint8 FbProcessLock uint8 - _ [6]byte + F__ccgo_pad1 [6]byte FpUnused uintptr FnRef int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpShmNode uintptr FpNext uintptr FpPrev uintptr @@ -22866,10 +22931,10 @@ type unixFile = struct { FpInode uintptr Fh int32 FeFileLock uint8 - _ [1]byte + F__ccgo_pad1 [1]byte FctrlFlags uint16 FlastErrno int32 - _ [4]byte + F__ccgo_pad2 [4]byte FlockingContext uintptr FpPreallocatedUnused uintptr FzPath uintptr @@ -25684,10 +25749,10 @@ shmpage_out: if !(int32((*UnixShmNode)(unsafe.Pointer(pShmNode)).FnRegion) > iRegion) { goto __25 } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) goto __26 __25: - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) __26: ; if !(((*UnixShmNode)(unsafe.Pointer(pShmNode)).FisReadonly != 0) && (rc == SQLITE_OK)) { @@ -26164,7 +26229,9 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if (ctrlFlags & UNIXFILE_NOLOCK) != 0 { pLockingStyle = uintptr(unsafe.Pointer(&nolockIoMethods)) } else { - pLockingStyle = (**(**func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 32 /* &.pAppData */))))(tls, zFilename, pNew) + pLockingStyle = (*(**struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData}))).f(tls, zFilename, pNew) } if pLockingStyle == uintptr(unsafe.Pointer(&posixIoMethods)) { @@ -27032,20 +27099,20 @@ type Dl_info = struct { // This is the type of elements in `Dl_serinfo', below. // The `dls_name' member points to space in the buffer passed to `dlinfo'. type Dl_serpath = struct { - Fdls_name uintptr - Fdls_flags uint32 - _ [4]byte + Fdls_name uintptr + Fdls_flags uint32 + F__ccgo_pad1 [4]byte } /* dlfcn.h:175:3 */ // This is the structure that must be passed (by reference) to `dlinfo' for // the RTLD_DI_SERINFO and RTLD_DI_SERINFOSIZE requests. type Dl_serinfo = struct { - Fdls_size Size_t - Fdls_cnt uint32 - _ [4]byte - F__16 struct { + Fdls_size Size_t + Fdls_cnt uint32 + F__ccgo_pad1 [4]byte + F__16 struct { Fdls_serpath [0]Dl_serpath - _ [16]byte + F__ccgo_pad1 [16]byte } } /* dlfcn.h:196:3 */ @@ -27094,7 +27161,9 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr x = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) uintptr }{libc.Xdlsym})) - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(&x)))(tls, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:40681:13: */ @@ -27477,26 +27546,26 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42157:16: */ // Forward declaration of objects used by this utility type MemVfs = sqlite3_vfs /* sqlite3.c:48545:28 */ type MemFile1 = struct { - Fbase Sqlite3_file - FpStore uintptr - FeLock int32 - _ [4]byte + Fbase Sqlite3_file + FpStore uintptr + FeLock int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:48546:9 */ type MemFile = MemFile1 /* sqlite3.c:48546:24 */ type MemStore1 = struct { - Fsz Sqlite3_int64 - FszAlloc Sqlite3_int64 - FszMax Sqlite3_int64 - FaData uintptr - FpMutex uintptr - FnMmap int32 - FmFlags uint32 - FnRdLock int32 - FnWrLock int32 - FnRef int32 - _ [4]byte - FzFName uintptr + Fsz Sqlite3_int64 + FszAlloc Sqlite3_int64 + FszMax Sqlite3_int64 + FaData uintptr + FpMutex uintptr + FnMmap int32 + FmFlags uint32 + FnRdLock int32 + FnWrLock int32 + FnRef int32 + F__ccgo_pad1 [4]byte + FzFName uintptr } /* sqlite3.c:48546:9 */ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ @@ -27506,9 +27575,9 @@ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. type MemFS = struct { - FnMemStore int32 - _ [4]byte - FapMemStore uintptr + FnMemStore int32 + F__ccgo_pad1 [4]byte + FapMemStore uintptr } /* sqlite3.c:48617:8 */ // File-scope variables for holding the memdb files that are accessible @@ -27809,7 +27878,9 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in var p uintptr = uintptr(0) var szName int32 if (flags & SQLITE_OPEN_MAIN_DB) == 0 { - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 40 /* &.xOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) } libc.Xmemset(tls, pFile, 0, uint64(unsafe.Sizeof(MemStore{}))) szName = Xsqlite3Strlen30(tls, zName) @@ -27901,44 +27972,60 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z // Open the dynamic library located at zPath and return a handle. func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49147:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49156:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49163:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49170:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49178:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49186:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49199:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49202:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 136 /* &.xCurrentTimeInt64 */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } // Translate a database connection pointer and schema name into a @@ -28685,7 +28772,9 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50041:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) } } @@ -28720,13 +28809,15 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50072:20: */ Xsqlite3PCacheSetDefault(tls) } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 16 /* &.xInit */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50082:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 24 /* &.xShutdown */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } } @@ -28766,15 +28857,19 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr - pNew = (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 32 /* &.xCreate */))))(tls, + pNew = (*struct { + f func(*libc.TLS, int32, int32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCreate})).f(tls, szPage, (int32(uint64((*PCache)(unsafe.Pointer(pCache)).FszExtra) + (((uint64(unsafe.Sizeof(PgHdr{}))) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))))), int32((*PCache)(unsafe.Pointer(pCache)).FbPurgeable)) if pNew == uintptr(0) { return SQLITE_NOMEM } - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, pNew, numberOfCachePages(tls, pCache)) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, pNew, numberOfCachePages(tls, pCache)) if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } (*PCache)(unsafe.Pointer(pCache)).FpCache = pNew (*PCache)(unsafe.Pointer(pCache)).FszPage = szPage @@ -28817,7 +28912,9 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // (createFlag==1 AND !(bPurgeable AND pDirty) eCreate = (createFlag & int32((*PCache)(unsafe.Pointer(pCache)).FeCreate)) - pRes = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) + pRes = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) return pRes } @@ -28857,14 +28954,18 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage if pPg != 0 { var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pCache + 48 /* &.xStress */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PCache)(unsafe.Pointer(pCache)).FxStress})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) if (rc != SQLITE_OK) && (rc != SQLITE_BUSY) { return rc } } } - *(*uintptr)(unsafe.Pointer(ppPage)) = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) + *(*uintptr)(unsafe.Pointer(ppPage)) = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) if *(*uintptr)(unsafe.Pointer(ppPage)) == uintptr(0) { return SQLITE_NOMEM } @@ -28942,7 +29043,9 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50349:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) } (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) } // Make sure the page is marked as dirty. If it isn't dirty already, @@ -29005,7 +29108,9 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50433:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache - (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 72 /* &.xRekey */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uint32, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxRekey})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) (*PgHdr)(unsafe.Pointer(p)).Fpgno = newPgno if ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_DIRTY) != 0) && ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_NEED_SYNC) != 0) { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_FRONT)) @@ -29037,21 +29142,25 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } if (pgno == Pgno(0)) && ((*PCache)(unsafe.Pointer(pCache)).FnRefSum != 0) { var pPage1 uintptr - pPage1 = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) + pPage1 = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) if pPage1 != 0 { // Page 1 is always available in cache, because // pCache->nRefSum>0 libc.Xmemset(tls, (*Sqlite3_pcache_page)(unsafe.Pointer(pPage1)).FpBuf, 0, uint64((*PCache)(unsafe.Pointer(pCache)).FszPage)) pgno = Pgno(1) } } - (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 80 /* &.xTruncate */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) + (*struct { + f func(*libc.TLS, uintptr, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxTruncate})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) } } // Close a cache. func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50488:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. @@ -29167,14 +29276,18 @@ func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:5 // Return the total number of pages in the cache. func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:50605:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 48 /* &.xPagecount */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxPagecount})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Set the suggested cache-size value. func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:50622:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, numberOfCachePages(tls, pCache)) } @@ -29200,7 +29313,7 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { // Free up as much memory as possible from the page cache. func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50651:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 96 /* &.xShrink */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer @@ -30852,7 +30965,7 @@ type Wal1 = struct { FpDbFd uintptr FpWalFd uintptr FiCallback U32 - _ [4]byte + F__ccgo_pad1 [4]byte FmxWalSize I64 FnWiData int32 FszFirstBlock int32 @@ -30868,13 +30981,13 @@ type Wal1 = struct { FsyncHeader U8 FpadToSectorBoundary U8 FbShmUnreliable U8 - _ [1]byte + F__ccgo_pad2 [1]byte Fhdr WalIndexHdr FminFrame U32 FiReCksum U32 FzWalName uintptr FnCkpt U32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSnapshot uintptr } /* sqlite3.c:1331:9 */ @@ -31310,7 +31423,7 @@ type PagerSavepoint1 = struct { FiSubRec Pgno FbTruncateOnRelease int32 FaWalData [4]U32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ //************* End of wal.h ************************************************ @@ -32942,7 +33055,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo var pData uintptr pData = (*PgHdr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */)))).FpData libc.Xmemcpy(tls, pData, aData, uint64((*Pager)(unsafe.Pointer(pPager)).FpageSize)) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 256 /* &.xReiniter */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) // It used to be that sqlite3PcacheMakeClean(pPg) was called here. But // that call was dangerous and had no detectable benefit since the cache // is normally cleaned by sqlite3PcacheCleanAll() after rollback and so @@ -33675,7 +33788,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } else { rc = readDbPage(tls, pPg) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 256 /* &.xReiniter */))))(tls, pPg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, pPg) } Xsqlite3PagerUnrefNotNull(tls, pPg) } @@ -34407,7 +34520,9 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // may be invoked during, according to the comment above // sqlite3PagerSetBusyhandler(). - for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pPager + 224 /* &.xBusyHandler */))))(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { + for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxBusyHandler})).f(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { rc = pagerLockDb(tls, pPager, locktype) } return rc @@ -36210,7 +36325,9 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag // Dispatch all page fetch requests to the appropriate getter method. func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58297:20: */ - return (*(*func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32)(unsafe.Pointer((pPager + 264 /* &.xGet */))))(tls, pPager, pgno, ppPage, flags) + return (*struct { + f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxGet})).f(tls, pPager, pgno, ppPage, flags) } // Acquire a page if it is already in the in-memory cache. Do @@ -38467,12 +38584,12 @@ type WalIterator1 = struct { FiPrior U32 FnSegment int32 FaSegment [1]struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } } /* sqlite3.c:60656:9 */ @@ -38509,12 +38626,12 @@ type Ht_slot = U16 /* sqlite3.c:60848:13 */ // // This functionality is used by the checkpoint code (see walCheckpoint()). type WalSegment = struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } /* sqlite3.c:60656:9 */ // Define the parameters of the hash tables in the wal-index file. There @@ -38550,13 +38667,13 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt var nByte Sqlite3_int64 = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * (uint64(iPage + 1)))) var apNew uintptr libc.AtomicStoreUintptr(&apNew, uintptr(Xsqlite3Realloc(tls, (*Wal)(unsafe.Pointer(pWal)).FapWiData, uint64(nByte)))) - if !(libc.AtomicLoadUintptr(&apNew) != 0) { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = uintptr(0) + if !(apNew != 0) { + *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) return SQLITE_NOMEM } - libc.Xmemset(tls, (libc.AtomicLoadUintptr(&apNew) + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, + libc.Xmemset(tls, (apNew + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, (uint64(unsafe.Sizeof(uintptr(0))) * (uint64((iPage + 1) - (*Wal)(unsafe.Pointer(pWal)).FnWiData)))) - (*Wal)(unsafe.Pointer(pWal)).FapWiData = libc.AtomicLoadUintptr(&apNew) + (*Wal)(unsafe.Pointer(pWal)).FapWiData = apNew (*Wal)(unsafe.Pointer(pWal)).FnWiData = (iPage + 1) } @@ -38583,14 +38700,14 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt } } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) + *(*uintptr)(unsafe.Pointer(ppPage)) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) return rc } func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:60962:12: */ - if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(libc.AtomicLoadUintptr(&ppPage), *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { - return walIndexPageRealloc(tls, pWal, iPage, libc.AtomicLoadUintptr(&ppPage)) + if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { + return walIndexPageRealloc(tls, pWal, iPage, ppPage) } return SQLITE_OK } @@ -38675,9 +38792,9 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61077:28: */ (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion = U32(WALINDEX_MAX_VERSION) walChecksumBytes(tls, 1, (pWal + 72 /* &.hdr */), nCksum, uintptr(0), pWal+72 /* &.hdr */ +40 /* &.aCksum */) // Possible TSAN false-positive. See tag-20200519-1 - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr) + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr)), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) } // This function encodes a single frame header and writes it to a buffer @@ -38812,10 +38929,10 @@ func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61258:12: // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). type WalHashLoc1 = struct { - FaHash uintptr - FaPgno uintptr - FiZero U32 - _ [4]byte + FaHash uintptr + FaPgno uintptr + FiZero U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:61267:9 */ // An instance of the WalHashLoc object is used to describe the location @@ -39240,9 +39357,9 @@ finished: // currently holding locks that exclude all other writers and // checkpointers. Then set the values of read-mark slots 1 through N. libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill = U32(0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */))) = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */))) = U32(0) i = 1 __22: if !(i < (SQLITE_SHM_NLOCK - 3)) { @@ -39255,10 +39372,10 @@ __22: if !((i == 1) && ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0)) { goto __27 } - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame goto __28 __27: - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED __28: ; walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -39541,9 +39658,9 @@ func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintpt } type Sublist = struct { - FnList int32 - _ [4]byte - FaList uintptr + FnList int32 + F__ccgo_pad1 [4]byte + FaList uintptr } /* sqlite3.c:61957:3 */ // Free an iterator allocated by walIteratorInit(). @@ -39649,7 +39766,9 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // lock is successfully obtained or the busy-handler returns 0. func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62195:12: */ var rc int32 - for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xBusy)))(tls, pBusyArg) != 0)) { + for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xBusy})).f(tls, pBusyArg) != 0)) { rc = walLockExclusive(tls, pWal, lockIdx, n) } return rc @@ -39689,11 +39808,11 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62240: Xsqlite3Put4byte(tls, (aSalt), (U32(1) + Xsqlite3Get4byte(tls, (aSalt)))) libc.Xmemcpy(tls, ((pWal + 72 /* &.hdr */ + 32 /* &.aSalt */) + 1*4), bp /* &salt1 */, uint64(4)) walIndexWriteHdr(tls, pWal) - libc.AtomicStoreNInt32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), int32(0), 0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = U32(0) - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + 1*4)) = U32(0) + libc.AtomicStoreNInt32((pInfo /* &.nBackfill */), int32(0), 0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = U32(0) + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + 1*4)) = U32(0) for i = 2; i < (SQLITE_SHM_NLOCK - 3); i++ { - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED } } @@ -39761,7 +39880,7 @@ func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy u szPage = walPagesize(tls, pWal) libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __1 } @@ -39779,7 +39898,7 @@ __2: if !(i < (SQLITE_SHM_NLOCK - 3)) { goto __4 } - y = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + y = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if !(mxSafeFrame > y) { goto __5 } @@ -39794,7 +39913,7 @@ __2: } return READMARK_NOT_USED }() - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) walUnlockExclusive(tls, pWal, (3 + (i)), 1) goto __7 __6: @@ -39821,10 +39940,10 @@ __4: ; // Allocate the iterator - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < mxSafeFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < mxSafeFrame) { goto __10 } - rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill, bp /* &pIter */) + rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp /* &pIter */) __10: ; @@ -39833,9 +39952,9 @@ __10: ((libc.AssignInt32(&rc, walBusyLock(tls, pWal, xBusy, pBusyArg, (3+(0)), 1))) == SQLITE_OK)) { goto __11 } - nBackfill = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill + nBackfill = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = mxSafeFrame + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = mxSafeFrame // Sync the WAL to disk rc = Xsqlite3OsSync(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, (((sync_flags) >> 2) & 0x03)) @@ -39937,7 +40056,7 @@ __23: if !(rc == SQLITE_OK) { goto __25 } - libc.AtomicStoreNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), uint32(mxSafeFrame), 0) + libc.AtomicStoreNUint32((pInfo /* &.nBackfill */), uint32(mxSafeFrame), 0) __25: ; __22: @@ -39967,7 +40086,7 @@ __1: goto __27 } - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __28 } rc = SQLITE_BUSY @@ -40140,9 +40259,9 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // shared among multiple processes and not all mutex implementions work // reliably in that environment. libc.AtomicStoreUintptr(&aHdr, uintptr(walIndexHdr(tls, pWal))) - libc.Xmemcpy(tls, bp /* &h1 */, (libc.AtomicLoadUintptr(&aHdr)), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive + libc.Xmemcpy(tls, bp /* &h1 */, (aHdr), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, bp+48 /* &h2 */, (libc.AtomicLoadUintptr(&aHdr) + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, bp+48 /* &h2 */, (aHdr + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) if (libc.Xmemcmp(tls, bp /* &h1 */, bp+48 /* &h2 */, uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { return 1 // Dirty read @@ -40219,7 +40338,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // works, but may fail if the wal-index header is corrupt or currently // being modified by another thread or process. badHdr = func() int32 { - if libc.AtomicLoadPUintptr(bp /* page0 */) != 0 { + if *(*uintptr)(unsafe.Pointer(bp /* page0 */)) != 0 { return walIndexTryHdr(tls, pWal, pChanged) } return 1 @@ -40645,7 +40764,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 } libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && + if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && (((*Wal)(unsafe.Pointer(pWal)).FpSnapshot == uintptr(0)) || ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame == U32(0))) { // The WAL has been completely backfilled (or it is empty). // and can be safely ignored. @@ -40686,7 +40805,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 mxFrame = (*WalIndexHdr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FpSnapshot)).FmxFrame } for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { - var thisMark U32 = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + var thisMark U32 = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if (mxReadMark <= thisMark) && (thisMark <= mxFrame) { mxReadMark = thisMark @@ -40698,7 +40817,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { rc = walLockExclusive(tls, pWal, (3 + (i)), 1) if rc == SQLITE_OK { - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) mxReadMark = mxFrame mxI = i walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -40756,9 +40875,9 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // that it can read version A from the database file. However, since // we can guarantee that the checkpointer that set nBackfill could not // see any pages past pWal->hdr.mxFrame, this problem does not come up. - (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0) + 1)) + (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0) + 1)) walShmBarrier(tls, pWal) - if (U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo)+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || + if (U32(libc.AtomicLoadNUint32(((pInfo+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || (libc.Xmemcmp(tls, walIndexHdr(tls, pWal), (pWal+72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { walUnlockShared(tls, pWal, (3 + (mxI))) return -1 @@ -40806,8 +40925,8 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. if (pBuf1 == uintptr(0)) || (pBuf2 == uintptr(0)) { rc = SQLITE_NOMEM } else { - var i U32 = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted - for i = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)); i-- { + var i U32 = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted + for i = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)); i-- { // var sLoc WalHashLoc at bp+8, 24 // Hash table location var pgno U32 // Page number in db file @@ -40834,7 +40953,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. } } - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (i - U32(1)) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (i - U32(1)) } } @@ -40914,7 +41033,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // with *pSnapshot and set *pChanged as appropriate for opening the // snapshot. if !(libc.Xmemcmp(tls, pSnapshot+32 /* &.aSalt */, pWal+72 /* &.hdr */ +32 /* &.aSalt */, uint64(unsafe.Sizeof([2]U32{}))) != 0) && - ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted) { + ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted) { libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */), pSnapshot, uint64(unsafe.Sizeof(WalIndexHdr{}))) *(*int32)(unsafe.Pointer(pChanged)) = bChanged @@ -41153,7 +41272,9 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // page 1 is never written to the log until the transaction is // committed. As a result, the call to xUndo may not fail. - rc = (*(*func(*libc.TLS, uintptr, Pgno) int32)(unsafe.Pointer(&xUndo)))(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) + rc = (*struct { + f func(*libc.TLS, uintptr, Pgno) int32 + })(unsafe.Pointer(&struct{ uintptr }{xUndo})).f(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) } if iMax != (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame { walCleanupHash(tls, pWal) @@ -41219,7 +41340,7 @@ func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63690:12: * if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) == 0 { var pInfo uintptr = walCkptInfo(tls, pWal) - if (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill > U32(0) { + if (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill > U32(0) { // var salt1 U32 at bp, 4 Xsqlite3_randomness(tls, 4, bp /* &salt1 */) @@ -42129,7 +42250,7 @@ type MemPage1 = struct { FchildPtrSize U8 Fmax1bytePayload U8 FnOverflow U8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal U16 FminLocal U16 FcellOffset U16 @@ -42137,7 +42258,7 @@ type MemPage1 = struct { FnCell U16 FmaskPage U16 FaiOvfl [4]U16 - _ [4]byte + F__ccgo_pad2 [4]byte FapOvfl [4]uintptr FpBt uintptr FaData uintptr @@ -42394,11 +42515,11 @@ type MemPage1 = struct { // Forward declarations type MemPage = MemPage1 /* sqlite3.c:64658:24 */ type BtLock1 = struct { - FpBtree uintptr - FiTable Pgno - FeLock U8 - _ [3]byte - FpNext uintptr + FpBtree uintptr + FiTable Pgno + FeLock U8 + F__ccgo_pad1 [3]byte + FpNext uintptr } /* sqlite3.c:1331:9 */ type BtLock = BtLock1 /* sqlite3.c:64659:23 */ @@ -43744,7 +43865,9 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:66752:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell)))) + 1))))))), pInfo) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell)))) + 1))))))), pInfo) } // The following routines are implementations of the MemPage.xCellSize @@ -43825,7 +43948,9 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, return } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { var ovfl Pgno if (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) >= Uptr((pCell))) && (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) < Uptr((pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal)))) { @@ -44008,7 +44133,9 @@ __18: __21: ; - size = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (src + uintptr(pc)))) + size = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (src + uintptr(pc)))) cbrk = cbrk - (size) if !((cbrk < iCellStart) || ((pc + size) > usableSize)) { goto __22 @@ -44498,7 +44625,9 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:67431 if (pc < iCellFirst) || (pc > iCellLast) { return Xsqlite3CorruptError(tls, 67452) } - sz = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (data + uintptr(pc)))) + sz = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (data + uintptr(pc)))) if (pc + sz) > usableSize { return Xsqlite3CorruptError(tls, 67457) @@ -45336,7 +45465,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68190:20: Xsqlite3PagerClose(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, (*Btree)(unsafe.Pointer(p)).Fdb) if ((*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema != 0) && ((*BtShared)(unsafe.Pointer(pBt)).FpSchema != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pBt + 80 /* &.xFreeSchema */))))(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema})).f(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) } Xsqlite3DbFree(tls, uintptr(0), (*BtShared)(unsafe.Pointer(pBt)).FpSchema) freeTempSpace(tls, pBt) @@ -46290,7 +46419,9 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if int32(eType) == PTRMAP_OVERFLOW1 { // var info CellInfo at bp, 24 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { if (pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnSize)) > ((*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)) { return Xsqlite3CorruptError(tls, 69109) @@ -48096,7 +48227,9 @@ __35: // Size of the pCell cell in bytes // single byte varint and the record fits entirely on the main // b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 1), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 1), pIdxKey) goto __39 __38: if !(!((int32(*(*U8)(unsafe.Pointer(pCell + 1))) & 0x80) != 0) && @@ -48106,12 +48239,16 @@ __38: // The record-size field is a 2 byte varint and the record // fits entirely on the main b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 2), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 2), pIdxKey) goto __41 __40: pCellBody = (pCell - uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize)) nOverrun = 18 // Size of the overrun padding - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) nCell = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) // True if key size is 2^32 or more // Invalid key size: 0x80 0x80 0x00 @@ -49683,13 +49820,13 @@ func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous type CellArray1 = struct { - FnCell int32 - _ [4]byte - FpRef uintptr - FapCell uintptr - FszCell uintptr - FapEnd [6]uintptr - FixNx [6]int32 + FnCell int32 + F__ccgo_pad1 [4]byte + FpRef uintptr + FapCell uintptr + FszCell uintptr + FapEnd [6]uintptr + FixNx [6]int32 } /* sqlite3.c:72392:9 */ // The following parameters determine how many adjacent pages get involved @@ -49776,7 +49913,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite for N > 0 { if int32(*(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2))) == 0 { - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) } else { } @@ -49788,7 +49927,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite // Return the size of the Nth element of the cell array func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:72424:28: */ - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } @@ -50215,7 +50356,9 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr var pOut uintptr = (pSpace + 4) *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) = *(*uintptr)(unsafe.Pointer((pPage + 40 /* &.apOvfl */))) - *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) + *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) var pStop uintptr // var b CellArray at bp+32, 104 @@ -50581,13 +50724,17 @@ __16: } *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((pParent + 40 /* &.apOvfl */))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) (*MemPage)(unsafe.Pointer(pParent)).FnOverflow = U8(0) goto __18 __17: *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow)))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow))))) + 1))))))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) // Drop the cell from the parent page. apDiv[i] still points to // the cell within the parent, even though it has been dropped. @@ -50849,7 +50996,9 @@ __46: if !(j < int32((*MemPage)(unsafe.Pointer(p)).FnOverflow)) { goto __48 } - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((p + 120 /* &.xCellSize */))))(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(p)).FxCellSize})).f(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) goto __47 __47: j++ @@ -51353,7 +51502,9 @@ __118: goto __120 } j-- - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pNew2 + 128 /* &.xParseCell */))))(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pNew2)).FxParseCell})).f(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) pCell1 = pTemp1 sz2 = (4 + Xsqlite3PutVarint(tls, (pCell1+4), uint64((*CellInfo)(unsafe.Pointer(bp+328 /* &info */)).FnKey))) pTemp1 = uintptr(0) @@ -51374,7 +51525,9 @@ __120: goto __122 } - sz2 = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, pCell1)) + sz2 = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, pCell1)) __122: ; __121: @@ -52170,7 +52323,9 @@ __25: if !(((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal))) { goto __26 } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, newCell, bp+80 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnLocal)) { goto __27 } @@ -52211,7 +52366,9 @@ __31: libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) __32: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, oldCell, bp+112 /* &info1 */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { goto __33 } @@ -52580,7 +52737,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = clearCellOverflow(tls, pPage, pCell, bp /* &info */) } else { @@ -52618,7 +52777,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if pCell < ((*MemPage)(unsafe.Pointer(pLeaf)).FaData + 4) { return Xsqlite3CorruptError(tls, 74681) } - nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pLeaf + 120 /* &.xCellSize */))))(tls, pLeaf, pCell)) + nCell = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pLeaf)).FxCellSize})).f(tls, pLeaf, pCell)) pTmp = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -52890,7 +53051,9 @@ __8: ; __7: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) if !(U32((*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnPayload) { goto __9 } @@ -53621,7 +53784,9 @@ __9: __12: ; pCell = (data + uintptr(pc)) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } @@ -53722,7 +53887,9 @@ __24: goto __26 } pc = (U32((int32(*(*U8)(unsafe.Pointer((data + uintptr((cellStart + (i * 2))))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))) + 1))))) - size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) + size = U32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxCellSize})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + size) - U32(1)))) goto __25 __25: @@ -55107,7 +55274,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) } if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMem + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(pMem)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) } (*Mem)(unsafe.Pointer(pMem)).Fz = (*Mem)(unsafe.Pointer(pMem)).FzMalloc @@ -55269,7 +55436,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = bp + 56 /* &t */ (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pMem (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 32 /* &.xFinalize */))))(tls, bp /* &ctx */) // IMP: R-24505-23230 + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxFinalize})).f(tls, bp /* &ctx */) // IMP: R-24505-23230 if (*Mem)(unsafe.Pointer(pMem)).FszMalloc > 0 { Xsqlite3DbFreeNN(tls, (*Mem)(unsafe.Pointer(pMem)).Fdb, (*Mem)(unsafe.Pointer(pMem)).FzMalloc) @@ -55295,7 +55462,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = pOut (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pAccum (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 40 /* &.xValue */))))(tls, bp /* &ctx */) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxValue})).f(tls, bp /* &ctx */) return (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FisError } @@ -55314,7 +55481,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:77496 } if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(p)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(p)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(p)).Fz) } (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) } @@ -55521,7 +55688,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 rc = Xsqlite3AtoF(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, (pMem /* &.u */ /* &.r */), (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) if (((rc == 0) || (rc == 1)) && (Xsqlite3Atoi64(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, bp /* &ix */, (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) <= 1)) || - (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, I64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { + (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { *(*I64)(unsafe.Pointer(pMem /* &.u */)) = *(*Sqlite3_int64)(unsafe.Pointer(bp /* ix */)) (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pMem))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) } else { @@ -56022,11 +56189,11 @@ func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:78293:30 // Context object passed by sqlite3Stat4ProbeSetValue() through to // valueNew(). See comments above valueNew() for details. type ValueNewStat4Ctx = struct { - FpParse uintptr - FpIdx uintptr - FppRec uintptr - FiVal int32 - _ [4]byte + FpParse uintptr + FpIdx uintptr + FppRec uintptr + FiVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:78306:1 */ // Allocate and return a pointer to a new sqlite3_value object. If @@ -56176,7 +56343,9 @@ __9: libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpOut = pVal (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+8 /* &ctx */, nVal, apVal) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxSFunc})).f(tls, bp+8 /* &ctx */, nVal, apVal) if !((*Sqlite3_context)(unsafe.Pointer(bp+8 /* &ctx */)).FisError != 0) { goto __10 } @@ -58478,7 +58647,9 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. var pModule uintptr = (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FpModule (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FnRef-- - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 56 /* &.xClose */))))(tls, pVCur) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxClose})).f(tls, pVCur) break } @@ -58647,7 +58818,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // If there are any write-transactions at all, invoke the commit hook if (needXcommit != 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback != 0) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 280 /* &.xCommitCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) if rc != 0 { return (SQLITE_CONSTRAINT | (int32(2) << 8)) } @@ -59244,7 +59417,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, (((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg > 31) || !((uint32(mask) & (uint32((uint32(1))) << ((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg))) != 0))) { if (*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) } *(*uintptr)(unsafe.Pointer(pp)) = (*AuxData)(unsafe.Pointer(pAux)).FpNextAux Xsqlite3DbFree(tls, db, pAux) @@ -59786,7 +59959,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin if int32((*Mem)(unsafe.Pointer(pMem1)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { // The strings are already in the correct encoding. Call the // comparison function directly - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) } else { var rc int32 var v1 uintptr @@ -59807,7 +59982,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin } rc = 0 } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) } Xsqlite3VdbeMemRelease(tls, bp /* &c1 */) Xsqlite3VdbeMemRelease(tls, bp+56 /* &c2 */) @@ -60829,7 +61006,9 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FiBlobWrite = iBlobWrite (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = bp /* &preupdate */ - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64))(unsafe.Pointer((db + 336 /* &.xPreUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = uintptr(0) Xsqlite3DbFree(tls, db, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FaRecord) vdbeFreeUnpacked(tls, db, (int32((*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).Fkeyinfo.FnKeyField) + 1), (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FpUnpacked) @@ -60910,10 +61089,14 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: Xsqlite3OsCurrentTimeInt64(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, bp /* &iNow */) *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)) = ((*(*Sqlite3_int64)(unsafe.Pointer(bp /* iNow */)) - (*Vdbe)(unsafe.Pointer(p)).FstartTime) * int64(1000000)) if (*Sqlite3)(unsafe.Pointer(db)).FxProfile != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, U64))(unsafe.Pointer((db + 256 /* &.xProfile */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) + (*struct { + f func(*libc.TLS, uintptr, uintptr, U64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProfile})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) } if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_PROFILE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) } (*Vdbe)(unsafe.Pointer(p)).FstartTime = int64(0) } @@ -61233,7 +61416,7 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) } else if xDel == (libc.UintptrFromInt32(-1)) { // noop } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, p) } Xsqlite3_result_error_toobig(tls, pCtx) return SQLITE_TOOBIG @@ -61420,7 +61603,9 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:84742:12: */ nEntry = Xsqlite3PagerWalCallback(tls, Xsqlite3BtreePager(tls, pBt)) Xsqlite3BtreeLeave(tls, pBt) if ((nEntry > 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxWalCallback != 0)) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32)(unsafe.Pointer((db + 352 /* &.xWalCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxWalCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) } } } @@ -61827,7 +62012,7 @@ __6: if !((*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux != 0) { goto __10 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAuxData + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) __10: ; __7: @@ -61841,7 +62026,7 @@ failed: if !(xDelete != 0) { goto __11 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pAux) __11: } @@ -62190,7 +62375,7 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if (xDel != (uintptr(0))) && (xDel != (libc.UintptrFromInt32(-1))) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, zData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, zData) } return rc } @@ -62249,7 +62434,7 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, Xsqlite3VdbeMemSetPointer(tls, ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((i-1))*56), pPtr, zPTtype, xDestructor) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if xDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestructor)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestructor})).f(tls, pPtr) } return rc } @@ -66502,7 +66687,9 @@ __185: } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __187 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -67104,7 +67291,9 @@ __220: if !((int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_ROW) != 0) { goto __221 } - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) __221: ; @@ -71405,7 +71594,9 @@ __639: goto __640 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_ISUPDATE) != 0 { return SQLITE_UPDATE @@ -71553,7 +71744,9 @@ __647: if !(((*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback != 0) && (((*Table)(unsafe.Pointer((pTab1))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __649 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, (*VdbeCursor)(unsafe.Pointer(pC11)).FmovetoTarget) __649: @@ -71745,7 +71938,9 @@ __659: pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)))).FpVtab pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxRowid})).f(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) Xsqlite3VtabImportErrmsg(tls, p, pVtab) if !(rc != 0) { goto __663 @@ -72046,7 +72241,9 @@ __121: // jump // The Next opcode is only used after SeekGT, SeekGE, Rewind, and Found. // The Prev opcode is only used after SeekLT, SeekLE, and Last. - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pOp + 16 /* &.p4 */ /* &.xAdvance */))))(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */))})).f(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) next_tail: (*VdbeCursor)(unsafe.Pointer(pC20)).FcacheStatus = U32(CACHE_STALE) @@ -73426,10 +73623,14 @@ __776: if !((*Op)(unsafe.Pointer(pOp)).Fp1 != 0) { goto __780 } - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 48 /* &.xInverse */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxInverse})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) goto __781 __780: - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxSFunc})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) __781: ; // IMP: R-24505-23230 @@ -73940,7 +74141,9 @@ __171: __822: ; pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+864 /* &pVCur */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxOpen})).f(tls, pVtab1, bp+864 /* &pVCur */) Xsqlite3VtabImportErrmsg(tls, p, pVtab1) if !(rc != 0) { goto __823 @@ -73962,7 +74165,9 @@ __823: goto __825 __824: ; - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxClose})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) goto no_mem __825: ; @@ -74017,7 +74222,9 @@ __827: goto __828 __828: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pModule2 + 64 /* &.xFilter */))))(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxFilter})).f(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) Xsqlite3VtabImportErrmsg(tls, p, pVtab2) if !(rc != 0) { goto __829 @@ -74025,7 +74232,9 @@ __828: goto abort_due_to_error __829: ; - res13 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule2 + 80 /* &.xEof */))))(tls, pVCur1) + res13 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxEof})).f(tls, pVCur1) (*VdbeCursor)(unsafe.Pointer(pCur3)).FnullRow = U8(0) if !(res13 != 0) { @@ -74079,7 +74288,9 @@ __832: (*Mem)(unsafe.Pointer(pDest2)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pDest2))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) __833: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule3)).FxColumn})).f(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) Xsqlite3VtabImportErrmsg(tls, p, pVtab3) if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __834 @@ -74128,7 +74339,9 @@ __837: // xNext(). Instead, if an error occurs, true is returned (indicating that // data is available) and the error code returned when xColumn or // some other method is next invoked on the save virtual table cursor. - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 72 /* &.xNext */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxNext})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) Xsqlite3VtabImportErrmsg(tls, p, pVtab4) if !(rc != 0) { goto __838 @@ -74136,7 +74349,9 @@ __837: goto abort_due_to_error __838: ; - res14 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 80 /* &.xEof */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + res14 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxEof})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) if !(!(res14 != 0)) { goto __839 @@ -74166,7 +74381,9 @@ __175: goto abort_due_to_error __840: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule + 152 /* &.xRename */))))(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule)).FxRename})).f(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) if !(isLegacy == 0) { goto __841 } @@ -74252,7 +74469,9 @@ __847: __848: ; (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = U8((*Op)(unsafe.Pointer(pOp)).Fp5) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule5)).FxUpdate})).f(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict Xsqlite3VtabImportErrmsg(tls, p, pVtab6) if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) { @@ -74406,7 +74625,9 @@ __857: (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc)).FxSFunc})).f(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 // If the function returned an error, throw an exception if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0) { @@ -74498,7 +74719,9 @@ __182: goto __867 } z2 = Xsqlite3VdbeExpandSql(tls, p, zTrace) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((db + 240 /* &.trace */ /* &.xLegacy */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) Xsqlite3_free(tls, z2) goto __868 __867: @@ -74506,11 +74729,15 @@ __867: goto __869 } z3 = Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp+136, zTrace)) - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 __869: - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) __870: ; __868: @@ -74640,7 +74867,9 @@ __883: goto __884 } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __885 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -74706,15 +74935,15 @@ var vfsFlags int32 = ((((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OP // Valid sqlite3_blob* handles point to Incrblob structures. type Incrblob1 = struct { - FnByte int32 - FiOffset int32 - FiCol U16 - _ [6]byte - FpCsr uintptr - FpStmt uintptr - Fdb uintptr - FzDb uintptr - FpTab uintptr + FnByte int32 + FiOffset int32 + FiCol U16 + F__ccgo_pad1 [6]byte + FpCsr uintptr + FpStmt uintptr + Fdb uintptr + FzDb uintptr + FpTab uintptr } /* sqlite3.c:94829:9 */ //************* End of vdbe.c *********************************************** @@ -75223,7 +75452,9 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int v, *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(v)).FapCsr)), SQLITE_DELETE, (*Incrblob)(unsafe.Pointer(p)).FzDb, (*Incrblob)(unsafe.Pointer(p)).FpTab, iKey, -1, int32((*Incrblob)(unsafe.Pointer(p)).FiCol)) } - rc = (*(*func(*libc.TLS, uintptr, U32, U32, uintptr) int32)(unsafe.Pointer(&xCall)))(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) + rc = (*struct { + f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCall})).f(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) Xsqlite3BtreeLeaveCursor(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr) if rc == SQLITE_ABORT { Xsqlite3VdbeFinalize(tls, v) @@ -75463,11 +75694,11 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 // Private objects used by the sorter type MergeEngine1 = struct { - FnTree int32 - _ [4]byte - FpTask uintptr - FaTree uintptr - FaReadr uintptr + FnTree int32 + F__ccgo_pad1 [4]byte + FpTask uintptr + FaTree uintptr + FaReadr uintptr } /* sqlite3.c:21218:9 */ //************* End of vdbeblob.c ******************************************* @@ -75621,56 +75852,56 @@ type MergeEngine1 = struct { // Private objects used by the sorter type MergeEngine = MergeEngine1 /* sqlite3.c:95477:28 */ // Merge PMAs together type PmaReader1 = struct { - FiReadOff I64 - FiEof I64 - FnAlloc int32 - FnKey int32 - FpFd uintptr - FaAlloc uintptr - FaKey uintptr - FaBuffer uintptr - FnBuffer int32 - _ [4]byte - FaMap uintptr - FpIncr uintptr + FiReadOff I64 + FiEof I64 + FnAlloc int32 + FnKey int32 + FpFd uintptr + FaAlloc uintptr + FaKey uintptr + FaBuffer uintptr + FnBuffer int32 + F__ccgo_pad1 [4]byte + FaMap uintptr + FpIncr uintptr } /* sqlite3.c:21218:9 */ // Merge PMAs together type PmaReader = PmaReader1 /* sqlite3.c:95478:26 */ // Incrementally read one PMA type PmaWriter1 = struct { - FeFWErr int32 - _ [4]byte - FaBuffer uintptr - FnBuffer int32 - FiBufStart int32 - FiBufEnd int32 - _ [4]byte - FiWriteOff I64 - FpFd uintptr + FeFWErr int32 + F__ccgo_pad1 [4]byte + FaBuffer uintptr + FnBuffer int32 + FiBufStart int32 + FiBufEnd int32 + F__ccgo_pad2 [4]byte + FiWriteOff I64 + FpFd uintptr } /* sqlite3.c:95479:9 */ // Incrementally read one PMA type PmaWriter = PmaWriter1 /* sqlite3.c:95479:26 */ // Incrementally write one PMA type SorterRecord1 = struct { - FnVal int32 - _ [4]byte - Fu struct{ FpNext uintptr } + FnVal int32 + F__ccgo_pad1 [4]byte + Fu struct{ FpNext uintptr } } /* sqlite3.c:21218:9 */ // Incrementally write one PMA type SorterRecord = SorterRecord1 /* sqlite3.c:95480:29 */ // A record being sorted type SortSubtask1 = struct { - FpThread uintptr - FbDone int32 - _ [4]byte - FpSorter uintptr - FpUnpacked uintptr - Flist SorterList - FnPMA int32 - _ [4]byte - FxCompare SorterCompare - Ffile SorterFile - Ffile2 SorterFile + FpThread uintptr + FbDone int32 + F__ccgo_pad1 [4]byte + FpSorter uintptr + FpUnpacked uintptr + Flist SorterList + FnPMA int32 + F__ccgo_pad2 [4]byte + FxCompare SorterCompare + Ffile SorterFile + Ffile2 SorterFile } /* sqlite3.c:21218:9 */ // A record being sorted @@ -75683,23 +75914,23 @@ type SorterFile1 = struct { // A sub-task in the sort process type SorterFile = SorterFile1 /* sqlite3.c:95482:27 */ // Temporary file object wrapper type SorterList1 = struct { - FpList uintptr - FaMemory uintptr - FszPMA int32 - _ [4]byte + FpList uintptr + FaMemory uintptr + FszPMA int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:21218:9 */ // Temporary file object wrapper type SorterList = SorterList1 /* sqlite3.c:95483:27 */ // In-memory list of records type IncrMerger1 = struct { - FpTask uintptr - FpMerger uintptr - FiStartOff I64 - FmxSz int32 - FbEof int32 - FbUseThread int32 - _ [4]byte - FaFile [2]SorterFile + FpTask uintptr + FpMerger uintptr + FiStartOff I64 + FmxSz int32 + FbEof int32 + FbUseThread int32 + F__ccgo_pad1 [4]byte + FaFile [2]SorterFile } /* sqlite3.c:21218:9 */ // In-memory list of records @@ -76531,7 +76762,9 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp for { var res int32 - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp+8 /* &bCached */, ((p1) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p1)).FnVal, ((p2) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p2)).FnVal) if res <= 0 { @@ -76802,7 +77035,9 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } else if (*PmaReader)(unsafe.Pointer(pReadr2)).FpFd == uintptr(0) { iRes = -1 } else { - iRes = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, pTask, bp, /* &bCached */ + iRes = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp, /* &bCached */ (*PmaReader)(unsafe.Pointer(pReadr1)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr1)).FnKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FnKey) } @@ -77211,7 +77446,9 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql *(*int32)(unsafe.Pointer(bp /* bCached */)) = 0 var res int32 // from vdbeSortSubtaskMain() - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp /* &bCached */, (*PmaReader)(unsafe.Pointer(p1)).FaKey, (*PmaReader)(unsafe.Pointer(p1)).FnKey, (*PmaReader)(unsafe.Pointer(p2)).FaKey, (*PmaReader)(unsafe.Pointer(p2)).FnKey) if res <= 0 { iRes = i1 @@ -77892,16 +78129,16 @@ func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCo // Forward references to internal structures type MemJournal1 = struct { - FpMethod uintptr - FnChunkSize int32 - FnSpill int32 - FpFirst uintptr - Fendpoint FilePoint - Freadpoint FilePoint - Fflags int32 - _ [4]byte - FpVfs uintptr - FzJournal uintptr + FpMethod uintptr + FnChunkSize int32 + FnSpill int32 + FpFirst uintptr + Fendpoint FilePoint + Freadpoint FilePoint + Fflags int32 + F__ccgo_pad1 [4]byte + FpVfs uintptr + FzJournal uintptr } /* sqlite3.c:98540:9 */ //************* End of vdbesort.c ******************************************* @@ -78315,7 +78552,9 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. var rc int32 for 1 != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 8 /* &.xExprCallback */))))(tls, pWalker, pExpr) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxExprCallback})).f(tls, pWalker, pExpr) if rc != 0 { return (rc & WRC_Abort) } @@ -78499,7 +78738,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Continue } for ok := true; ok; ok = (p != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 16 /* &.xSelectCallback */))))(tls, pWalker, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback})).f(tls, pWalker, p) if rc != 0 { return (rc & WRC_Abort) } @@ -78508,7 +78749,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Abort } if (*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pWalker + 24 /* &.xSelectCallback2 */))))(tls, pWalker, p) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2})).f(tls, pWalker, p) } p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -79552,7 +79795,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99948:12: */ if *(*float64)(unsafe.Pointer(bp /* r */)) > 1.0 { return -1 } - return (int32(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) + return (libc.Int32FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) } // This routine is callback for sqlite3WalkExpr(). @@ -86093,7 +86336,9 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x (*Expr)(unsafe.Pointer(bp + 72 /* &compRight */)).FpRight = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) + 8 /* &.a */) + 1*32)).FpExpr exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+216 /* ®Free1 */)) if xJump != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&xJump)))(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, int32) + })(unsafe.Pointer(&struct{ uintptr }{xJump})).f(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) } else { // Mark the expression is being from the ON or USING clause of a join // so that the sqlite3ExprCodeTarget() routine will not attempt to move @@ -90238,25 +90483,25 @@ var aTable = [3]struct { // share an instance of the following structure to hold their state // information. type StatAccum1 = struct { - Fdb uintptr - FnEst TRowcnt - FnRow TRowcnt - FnLimit int32 - FnCol int32 - FnKeyCol int32 - FnSkipAhead U8 - _ [3]byte - Fcurrent StatSample - FnPSample TRowcnt - FmxSample int32 - FiPrn U32 - _ [4]byte - FaBest uintptr - FiMin int32 - FnSample int32 - FnMaxEqZero int32 - FiGet int32 - Fa uintptr + Fdb uintptr + FnEst TRowcnt + FnRow TRowcnt + FnLimit int32 + FnCol int32 + FnKeyCol int32 + FnSkipAhead U8 + F__ccgo_pad1 [3]byte + Fcurrent StatSample + FnPSample TRowcnt + FmxSample int32 + FiPrn U32 + F__ccgo_pad2 [4]byte + FaBest uintptr + FiMin int32 + FnSample int32 + FnMaxEqZero int32 + FiGet int32 + Fa uintptr } /* sqlite3.c:109861:9 */ // Recommended number of samples for sqlite_stat4 @@ -90266,15 +90511,15 @@ type StatAccum1 = struct { // information. type StatAccum = StatAccum1 /* sqlite3.c:109861:26 */ type StatSample1 = struct { - FanEq uintptr - FanDLt uintptr - FanLt uintptr - Fu struct{ FiRowid I64 } - FnRowid U32 - FisPSample U8 - _ [3]byte - FiCol int32 - FiHash U32 + FanEq uintptr + FanDLt uintptr + FanLt uintptr + Fu struct{ FiRowid I64 } + FnRowid U32 + FisPSample U8 + F__ccgo_pad1 [3]byte + FiCol int32 + FiHash U32 } /* sqlite3.c:109861:9 */ type StatSample = StatSample1 /* sqlite3.c:109862:27 */ @@ -92701,7 +92946,9 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return SQLITE_OK } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { var z uintptr = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { @@ -92789,7 +93036,9 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // The following testcase() macros show that any of the 3rd through 6th // parameters can be either NULL or a string. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { Xsqlite3ErrorMsg(tls, pParse, ts+10824 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH @@ -95238,7 +95487,9 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint if (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName == uintptr(0) { return 0 } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Module)(unsafe.Pointer(pMod)).FpModule + 184 /* &.xShadowName */))))(tls, ((zName + uintptr(nName)) + uintptr(1))) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName})).f(tls, ((zName + uintptr(nName)) + uintptr(1))) } // Return true if zName is a shadow table name in the current database @@ -98812,7 +99063,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq if !(zExternal != 0) { return } - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 368 /* &.xCollNeeded */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) Xsqlite3DbFree(tls, db, zExternal) } if (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 != 0 { @@ -98826,7 +99079,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq return uint8(SQLITE_UTF16LE) }()) if zExternal != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 376 /* &.xCollNeeded16 */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) } Xsqlite3ValueFree(tls, pTmp) } @@ -100771,7 +101026,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) > +4503599627370496.0) { // The value has no fractional part so there is nothing to round } else if n == 0 { - *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < float64(0) { return -0.5 } @@ -101844,12 +102099,12 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. type SumCtx1 = struct { - FrSum float64 - FiSum I64 - Fcnt I64 - Foverflow U8 - Fapprox U8 - _ [6]byte + FrSum float64 + FiSum I64 + Fcnt I64 + Foverflow U8 + Fapprox U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:120823:9 */ // An instance of the following structure holds the context of a @@ -105443,9 +105698,9 @@ func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng ui // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. type IndexListTerm1 = struct { - Fp uintptr - Fix int32 - _ [4]byte + Fp uintptr + Fix int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:124490:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit @@ -105462,8 +105717,8 @@ type IndexIterator1 = struct { FeType int32 Fi int32 Fu struct { - Flx struct{ FpIdx uintptr } - _ [8]byte + Flx struct{ FpIdx uintptr } + F__ccgo_pad1 [8]byte } } /* sqlite3.c:124491:9 */ @@ -105916,6 +106171,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: + } } @@ -107208,7 +107464,9 @@ __18: *(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0) __15: ; - if !((*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, pArg, nCol, azVals, azCols) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, pArg, nCol, azVals, azCols) != 0) { goto __20 } // EVIDENCE-OF: R-38229-40159 If the callback function to @@ -107813,7 +108071,9 @@ __21: __20: ; Xsqlite3_free(tls, zAltEntry) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) if !(rc != 0) { goto __23 } @@ -107918,9 +108178,9 @@ func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int3 // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. type sqlite3AutoExtList = struct { - FnExt U32 - _ [4]byte - FaExt uintptr + FnExt U32 + F__ccgo_pad1 [4]byte + FaExt uintptr } /* sqlite3.c:127641:9 */ // The following object holds the list of automatically loaded @@ -108041,7 +108301,9 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 } Xsqlite3_mutex_leave(tls, mutex) *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) - if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { + if (xInit != 0) && ((libc.AssignInt32(&rc, (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, ts+14557 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 @@ -108147,13 +108409,13 @@ var pragCName = [51]uintptr{ // Definitions of all built-in pragmas type PragmaName1 = struct { - FzName uintptr - FePragTyp U8 - FmPragFlg U8 - FiPragCName U8 - FnPragCName U8 - _ [4]byte - FiArg U64 + FzName uintptr + FePragTyp U8 + FmPragFlg U8 + FiPragCName U8 + FnPragCName U8 + F__ccgo_pad1 [4]byte + FiArg U64 } /* sqlite3.c:127960:9 */ // Definitions of all built-in pragmas @@ -111869,9 +112131,9 @@ pragma_out: } type EncName = struct { - FzName uintptr - Fenc U8 - _ [7]byte + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:130282:18 */ var iLn3 int32 = 0 /* sqlite3.c:128958:22 */ @@ -111929,12 +112191,12 @@ var readCookie = [3]VdbeOpList{ // Implementation of an eponymous virtual table that runs a pragma. // type PragmaVtab1 = struct { - Fbase Sqlite3_vtab - Fdb uintptr - FpName uintptr - FnHidden U8 - FiHidden U8 - _ [6]byte + Fbase Sqlite3_vtab + Fdb uintptr + FpName uintptr + FnHidden U8 + FiHidden U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:130740:9 */ // **************************************************************************** @@ -112896,7 +113158,9 @@ func Xsqlite3ParserReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:131614:21 for (*Parse)(unsafe.Pointer(pParse)).FpCleanup != 0 { var pCleanup uintptr = (*Parse)(unsafe.Pointer(pParse)).FpCleanup (*Parse)(unsafe.Pointer(pParse)).FpCleanup = (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pCleanup + 16 /* &.xCleanup */))))(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup})).f(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) Xsqlite3DbFreeNN(tls, db, pCleanup) } Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaLabel) @@ -112950,7 +113214,9 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr (*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup } else { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&xCleanup)))(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xCleanup})).f(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) pPtr = uintptr(0) } return pPtr @@ -113362,11 +113628,11 @@ func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. type DistinctCtx1 = struct { - FisTnct U8 - FeTnctType U8 - _ [2]byte - FtabTnct int32 - FaddrTnct int32 + FisTnct U8 + FeTnctType U8 + F__ccgo_pad1 [2]byte + FtabTnct int32 + FaddrTnct int32 } /* sqlite3.c:132093:9 */ //************* End of prepare.c ******************************************** @@ -113416,7 +113682,7 @@ type SortCtx1 = struct { FlabelDone int32 FlabelOBLopt int32 FsortFlags U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr } /* sqlite3.c:132119:9 */ @@ -113438,9 +113704,9 @@ type SortCtx1 = struct { // extracted from the sorter. type SortCtx = SortCtx1 /* sqlite3.c:132119:24 */ type RowLoadInfo1 = struct { - FregResult int32 - FecelFlags U8 - _ [3]byte + FregResult int32 + FecelFlags U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:132119:9 */ // Delete all the content of a Select structure. Deallocate the structure @@ -116905,12 +117171,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. type SubstContext1 = struct { - FpParse uintptr - FiTable int32 - FiNewTable int32 - FisLeftJoin int32 - _ [4]byte - FpEList uintptr + FpParse uintptr + FiTable int32 + FiNewTable int32 + FisLeftJoin int32 + F__ccgo_pad1 [4]byte + FpEList uintptr } /* sqlite3.c:135643:9 */ // An instance of the SubstContext object describes an substitution edit @@ -121113,14 +121379,14 @@ select_end: // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. type TabResult1 = struct { - FazResult uintptr - FzErrMsg uintptr - FnAlloc U32 - FnRow U32 - FnColumn U32 - FnData U32 - Frc int32 - _ [4]byte + FazResult uintptr + FzErrMsg uintptr + FnAlloc U32 + FnRow U32 + FnColumn U32 + FnData U32 + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:139498:9 */ //************* End of select.c ********************************************* @@ -125491,7 +125757,7 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu Xsqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy) rc = Xsqlite3ApiExit(tls, db, rc) if (rc != SQLITE_OK) && (xDestroy != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, pAux) } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -125535,7 +125801,7 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { if (*Module)(unsafe.Pointer(pMod)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMod + 32 /* &.xDestroy */))))(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Module)(unsafe.Pointer(pMod)).FxDestroy})).f(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) } Xsqlite3DbFree(tls, db, pMod) @@ -125573,7 +125839,9 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:143352:21: var p uintptr = (*VTable)(unsafe.Pointer(pVTab)).FpVtab Xsqlite3VtabModuleUnref(tls, (*VTable)(unsafe.Pointer(pVTab)).Fdb, (*VTable)(unsafe.Pointer(pVTab)).FpMod) if p != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + 32 /* &.xDisconnect */))))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule)).FxDisconnect})).f(tls, p) } Xsqlite3DbFree(tls, db, pVTab) } @@ -125914,7 +126182,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FbDeclared = 0 (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32 /* &sCtx */ - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -126207,7 +126477,9 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) } (*Table)(unsafe.Pointer(pTab)).FnTabRef++ - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xDestroy)))(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) // Remove the sqlite3_vtab* from the aVTrans[] array, if applicable if rc == SQLITE_OK { @@ -126239,7 +126511,9 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14407 var x uintptr x = *(*uintptr)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + uintptr(offset)))) if x != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p) } } (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = 0 @@ -126265,7 +126539,9 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c var x uintptr var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aVTrans + uintptr(i)*8)))).FpVtab if (pVtab != 0) && ((libc.AssignUintptr(&x, (*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxSync)) != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, pVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pVtab) Xsqlite3VtabImportErrmsg(tls, p, pVtab) } } @@ -126323,13 +126599,17 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // sqlite3.aVTrans[] array. rc = growVTrans(tls, db) if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 112 /* &.xBegin */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxBegin})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) if rc == SQLITE_OK { var iSvpt int32 = ((*Sqlite3)(unsafe.Pointer(db)).FnStatement + (*Sqlite3)(unsafe.Pointer(db)).FnSavepoint) addToVTrans(tls, db, pVTab) if (iSvpt != 0) && ((*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint != 0) { (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = iSvpt - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pModule + 160 /* &.xSavepoint */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) } } } @@ -126376,7 +126656,9 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 break } if (xMethod != 0) && ((*VTable)(unsafe.Pointer(pVTab)).FiSavepoint > iSavepoint) { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xMethod)))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xMethod})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) } Xsqlite3VtabUnlock(tls, pVTab) } @@ -126435,7 +126717,9 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // Though undocumented, we have historically always invoked xFindFunction // with an all lower-case function name. Continue in this tradition to // avoid any chance of an incompatibility. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) if rc == 0 { return pDef } @@ -126663,16 +126947,16 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 // Forward references type WhereClause1 = struct { - FpWInfo uintptr - FpOuter uintptr - Fop U8 - FhasOr U8 - _ [2]byte - FnTerm int32 - FnSlot int32 - _ [4]byte - Fa uintptr - FaStatic [8]WhereTerm + FpWInfo uintptr + FpOuter uintptr + Fop U8 + FhasOr U8 + F__ccgo_pad1 [2]byte + FnTerm int32 + FnSlot int32 + F__ccgo_pad2 [4]byte + Fa uintptr + FaStatic [8]WhereTerm } /* sqlite3.c:14936:9 */ //************* End of vtab.c *********************************************** @@ -126750,9 +127034,9 @@ type WhereLevel1 = struct { Fp2 int32 Fu struct { Fin struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr + FnIn int32 + F__ccgo_pad1 [4]byte + FaInLoop uintptr } } FpWLoop uintptr @@ -126781,7 +127065,7 @@ type WhereLoop1 = struct { FnLTerm U16 FnSkip U16 FnLSlot U16 - _ [6]byte + F__ccgo_pad1 [6]byte FaLTerm uintptr FpNextLoop uintptr FaLTermSpace [3]uintptr @@ -126789,14 +127073,14 @@ type WhereLoop1 = struct { type WhereLoop = WhereLoop1 /* sqlite3.c:144522:26 */ type WherePath1 = struct { - FmaskLoop Bitmask - FrevLoop Bitmask - FnRow LogEst - FrCost LogEst - FrUnsorted LogEst - FisOrdered I8 - _ [1]byte - FaLoop uintptr + FmaskLoop Bitmask + FrevLoop Bitmask + FnRow LogEst + FrCost LogEst + FrUnsorted LogEst + FisOrdered I8 + F__ccgo_pad1 [1]byte + FaLoop uintptr } /* sqlite3.c:144523:9 */ type WherePath = WherePath1 /* sqlite3.c:144523:26 */ @@ -126811,8 +127095,8 @@ type WhereTerm1 = struct { FiParent int32 FleftCursor int32 Fu struct { - _ [0]uint64 - Fx struct { + F__ccgo_pad1 [0]uint64 + Fx struct { FleftColumn int32 FiField int32 } @@ -126823,50 +127107,50 @@ type WhereTerm1 = struct { type WhereTerm = WhereTerm1 /* sqlite3.c:144524:26 */ type WhereLoopBuilder1 = struct { - FpWInfo uintptr - FpWC uintptr - FpOrderBy uintptr - FpNew uintptr - FpOrSet uintptr - FpRec uintptr - FnRecValid int32 - FbldFlags1 uint8 - FbldFlags2 uint8 - _ [2]byte - FiPlanLimit uint32 - _ [4]byte + FpWInfo uintptr + FpWC uintptr + FpOrderBy uintptr + FpNew uintptr + FpOrSet uintptr + FpRec uintptr + FnRecValid int32 + FbldFlags1 uint8 + FbldFlags2 uint8 + F__ccgo_pad1 [2]byte + FiPlanLimit uint32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:144525:9 */ type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:144525:33 */ type WhereScan1 = struct { - FpOrigWC uintptr - FpWC uintptr - FzCollName uintptr - FpIdxExpr uintptr - Fidxaff uint8 - FnEquiv uint8 - FiEquiv uint8 - _ [1]byte - FopMask U32 - Fk int32 - FaiCur [11]int32 - FaiColumn [11]I16 - _ [2]byte + FpOrigWC uintptr + FpWC uintptr + FzCollName uintptr + FpIdxExpr uintptr + Fidxaff uint8 + FnEquiv uint8 + FiEquiv uint8 + F__ccgo_pad1 [1]byte + FopMask U32 + Fk int32 + FaiCur [11]int32 + FaiColumn [11]I16 + F__ccgo_pad2 [2]byte } /* sqlite3.c:144526:9 */ type WhereScan = WhereScan1 /* sqlite3.c:144526:26 */ type WhereOrCost1 = struct { - Fprereq Bitmask - FrRun LogEst - FnOut LogEst - _ [4]byte + Fprereq Bitmask + FrRun LogEst + FnOut LogEst + F__ccgo_pad1 [4]byte } /* sqlite3.c:144525:9 */ type WhereOrCost = WhereOrCost1 /* sqlite3.c:144527:28 */ type WhereOrSet1 = struct { - Fn U16 - _ [6]byte - Fa [3]WhereOrCost + Fn U16 + F__ccgo_pad1 [6]byte + Fa [3]WhereOrCost } /* sqlite3.c:144525:9 */ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ @@ -126885,12 +127169,12 @@ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ // the loop nested order, with WhereInfo.a[0] being the outer loop and // WhereInfo.a[WhereInfo.nLevel-1] being the inner loop. type InLoop = struct { - FiCur int32 - FaddrInTop int32 - FiBase int32 - FnPrefix int32 - FeEndLoopOp U8 - _ [3]byte + FiCur int32 + FaddrInTop int32 + FiBase int32 + FnPrefix int32 + FeEndLoopOp U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:144567:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -129425,7 +129709,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin pMod = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule if (*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction != uintptr(0) { - i = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) + i = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) if i >= SQLITE_INDEX_CONSTRAINT_FUNCTION { *(*uint8)(unsafe.Pointer(peOp2)) = uint8(i) *(*uintptr)(unsafe.Pointer(ppRight)) = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + 1*32)).FpExpr @@ -129469,9 +129755,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin } type Op2 = struct { - FzOp uintptr - FeOp2 uint8 - _ [7]byte + FzOp uintptr + FeOp2 uint8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ @@ -131916,7 +132202,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 var pVtab uintptr = (*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpVtab var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule + 24 /* &.xBestIndex */))))(tls, pVtab, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxBestIndex})).f(tls, pVtab, p) if (rc != SQLITE_OK) && (rc != SQLITE_CONSTRAINT) { if rc == SQLITE_NOMEM { @@ -136325,9 +136613,9 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * } { - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) - if int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp) != OP_Noop { - if (*InLoop)(unsafe.Pointer(pIn)).FnPrefix != 0 { + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) + if int32(*(*U8)(unsafe.Pointer(pIn + 16))) != OP_Noop { + if *(*int32)(unsafe.Pointer(pIn + 12)) != 0 { var bEarlyOut int32 = (libc.Bool32((((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_IN_EARLYOUT)) != U32(0)))) if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { @@ -136339,26 +136627,26 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * // return the null-row. So, if the cursor is not open yet, // jump over the OP_Next or OP_Prev instruction about to // be coded. - Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, (*InLoop)(unsafe.Pointer(pIn)).FiCur, + Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, *(*int32)(unsafe.Pointer(pIn)), ((Xsqlite3VdbeCurrentAddr(tls, v) + 2) + bEarlyOut)) } if bEarlyOut != 0 { Xsqlite3VdbeAddOp4Int(tls, v, OP_IfNoHope, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), - (*InLoop)(unsafe.Pointer(pIn)).FiBase, (*InLoop)(unsafe.Pointer(pIn)).FnPrefix) + *(*int32)(unsafe.Pointer(pIn + 8)), *(*int32)(unsafe.Pointer(pIn + 12))) // Retarget the OP_IsNull against the left operand of IN so // it jumps past the OP_IfNoHope. This is because the // OP_IsNull also bypasses the OP_Affinity opcode that is // required by OP_IfNoHope. - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) } } - Xsqlite3VdbeAddOp2(tls, v, int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp), (*InLoop)(unsafe.Pointer(pIn)).FiCur, (*InLoop)(unsafe.Pointer(pIn)).FaddrInTop) + Xsqlite3VdbeAddOp2(tls, v, int32(*(*U8)(unsafe.Pointer(pIn + 16))), *(*int32)(unsafe.Pointer(pIn)), *(*int32)(unsafe.Pointer(pIn + 4))) } - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop - 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) - 1)) } goto __2 @@ -136958,9 +137246,9 @@ func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155364:13: */ // Context object for last_value() window function. type LastValueCtx = struct { - FpVal uintptr - FnVal int32 - _ [4]byte + FpVal uintptr + FnVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155391:1 */ // Implementation of last_value(). @@ -137174,11 +137462,11 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin } type WindowUpdate = struct { - FzFunc uintptr - FeFrmType int32 - FeStart int32 - FeEnd int32 - _ [4]byte + FzFunc uintptr + FeFrmType int32 + FeStart int32 + FeEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155605:7 */ // Context object passed through sqlite3WalkExprList() to @@ -137966,18 +138254,18 @@ func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:156418:12: } type WindowCodeArg1 = struct { - FpParse uintptr - FpMWin uintptr - FpVdbe uintptr - FaddrGosub int32 - FregGosub int32 - FregArg int32 - FeDelete int32 - FregRowid int32 - Fstart WindowCsrAndReg - Fcurrent WindowCsrAndReg - Fend WindowCsrAndReg - _ [4]byte + FpParse uintptr + FpMWin uintptr + FpVdbe uintptr + FaddrGosub int32 + FregGosub int32 + FregArg int32 + FeDelete int32 + FregRowid int32 + Fstart WindowCsrAndReg + Fcurrent WindowCsrAndReg + Fend WindowCsrAndReg + F__ccgo_pad1 [4]byte } /* sqlite3.c:156423:9 */ type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:156423:30 */ @@ -139524,15 +139812,15 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin // // Then the "b" IdList records the list "a,b,c". type TrigEvent = struct { - Fa int32 - _ [4]byte - Fb uintptr + Fa int32 + F__ccgo_pad1 [4]byte + Fb uintptr } /* sqlite3.c:158068:1 */ type FrameBound = struct { - FeType int32 - _ [4]byte - FpExpr uintptr + FeType int32 + F__ccgo_pad1 [4]byte + FpExpr uintptr } /* sqlite3.c:158070:1 */ // Disable lookaside memory allocation for objects that might be @@ -139723,9 +140011,9 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT // YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type YYMINORTYPE = struct { - _ [0]uint64 - Fyyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Fyyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:158494:3 */ //************ End control #defines ****************************************** @@ -140594,10 +140882,10 @@ var yyFallback = [184]uint16{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type yyStackEntry = struct { - Fstateno uint16 - Fmajor uint16 - _ [4]byte - Fminor YYMINORTYPE + Fstateno uint16 + Fmajor uint16 + F__ccgo_pad1 [4]byte + Fminor YYMINORTYPE } /* sqlite3.c:159404:1 */ type YyStackEntry = yyStackEntry /* sqlite3.c:159411:29 */ @@ -146131,7 +146419,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:166213 if pDestructor != 0 { (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef-- if (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef == 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pDestructor + 8 /* &.xDestroy */))))(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDestructor)(unsafe.Pointer(pDestructor)).FxDestroy})).f(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) Xsqlite3DbFree(tls, db, pDestructor) } } @@ -146193,7 +146481,9 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_CLOSE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) } // Force xDisconnect calls on all virtual tables @@ -146342,7 +146632,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // Invoke any destructors registered for collation sequence user data. for j = 0; j < 3; j++ { if (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pColl + uintptr(j)*40 + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl + uintptr(j)*40)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) } } Xsqlite3DbFree(tls, db, pColl) @@ -146423,7 +146713,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // If one has been configured, invoke the rollback-hook callback if ((*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback != 0) && ((inTrans != 0) || !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0)) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((db + 296 /* &.xRollbackCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) } } @@ -146543,7 +146833,9 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:16 if ((*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0)) || ((*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0) { return 0 } - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((p /* &.xBusyHandler */))))(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler})).f(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) if rc == 0 { (*BusyHandler)(unsafe.Pointer(p)).FnBusy = -1 } else { @@ -146727,7 +147019,7 @@ func createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc goto __2 } Xsqlite3OomFault(tls, db) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) goto out __2: ; @@ -146742,7 +147034,7 @@ __1: goto __3 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) Xsqlite3_free(tls, pArg) __3: ; @@ -147266,7 +147558,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint var p uintptr = (aColl + uintptr(j)*40) if int32((*CollSeq)(unsafe.Pointer(p)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { if (*CollSeq)(unsafe.Pointer(p)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(p)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) } (*CollSeq)(unsafe.Pointer(p)).FxCmp = uintptr(0) } @@ -147694,9 +147986,9 @@ __43: } type OpenMode = struct { - Fz uintptr - Fmode int32 - _ [4]byte + Fz uintptr + Fmode int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ @@ -148645,7 +148937,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { var x int32 = 0 - rc = libc.AtomicLoadInt32(&x) + rc = x break } @@ -149357,7 +149649,9 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // The blocking transaction has been concluded. Or there never was a // blocking transaction. In either case, invoke the notify callback // immediately. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xNotify)))(tls, bp /* &pArg */, 1) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xNotify})).f(tls, bp /* &pArg */, 1) } else { var p uintptr @@ -149444,7 +149738,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 if (*Sqlite3)(unsafe.Pointer(p)).FpUnlockConnection == db { if ((*Sqlite3)(unsafe.Pointer(p)).FxUnlockNotify != xUnlockNotify) && (nArg != 0) { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } @@ -149482,7 +149778,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 // reduce the applications ability to prioritize multiple // connections. But it is the best that can be done under the // circumstances. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } } @@ -149506,7 +149804,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 } if nArg != 0 { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) } Xsqlite3_free(tls, aDyn) leaveMutex(tls) // Leave STATIC_MAIN mutex @@ -150135,39 +150435,39 @@ var jsonIsSpace = [256]uint8{ // Objects type JsonString1 = struct { - FpCtx uintptr - FzBuf uintptr - FnAlloc U64 - FnUsed U64 - FbStatic U8 - FbErr U8 - FzSpace [100]uint8 - _ [2]byte + FpCtx uintptr + FzBuf uintptr + FnAlloc U64 + FnUsed U64 + FbStatic U8 + FbErr U8 + FzSpace [100]uint8 + F__ccgo_pad1 [2]byte } /* sqlite3.c:189736:9 */ // Objects type JsonString = JsonString1 /* sqlite3.c:189736:27 */ type JsonNode1 = struct { - FeType U8 - FjnFlags U8 - _ [2]byte - Fn U32 - Fu struct{ FzJContent uintptr } + FeType U8 + FjnFlags U8 + F__ccgo_pad1 [2]byte + Fn U32 + Fu struct{ FzJContent uintptr } } /* sqlite3.c:189737:9 */ type JsonNode = JsonNode1 /* sqlite3.c:189737:25 */ type JsonParse1 = struct { - FnNode U32 - FnAlloc U32 - FaNode uintptr - FzJson uintptr - FaUp uintptr - Foom U8 - FnErr U8 - FiDepth U16 - FnJson int32 - FiHold U32 - _ [4]byte + FnNode U32 + FnAlloc U32 + FaNode uintptr + FzJson uintptr + FaUp uintptr + Foom U8 + FnErr U8 + FiDepth U16 + FnJson int32 + FiHold U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:189738:9 */ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ @@ -152338,17 +152638,17 @@ func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:191673:13: */ // The json_each virtual table // type JsonEachCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FiRowid U32 - FiBegin U32 - Fi U32 - FiEnd U32 - FeType U8 - FbRecursive U8 - _ [6]byte - FzJson uintptr - FzRoot uintptr - FsParse JsonParse + Fbase Sqlite3_vtab_cursor + FiRowid U32 + FiBegin U32 + Fi U32 + FiEnd U32 + FeType U8 + FbRecursive U8 + F__ccgo_pad1 [6]byte + FzJson uintptr + FzRoot uintptr + FsParse JsonParse } /* sqlite3.c:191683:9 */ // *************************************************************************** @@ -152881,12 +153181,12 @@ func Xsqlite3Json1Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:192174:20 aFunc[i].FxFunc, uintptr(0), uintptr(0)) } for i = uint32(0); (uint64(i) < (uint64(unsafe.Sizeof(aAgg)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{})))) && (rc == SQLITE_OK); i++ { rc = Xsqlite3_create_window_function(tls, db, aAgg[i].FzName, aAgg[i].FnArg, (SQLITE_SUBTYPE | enc), uintptr(0), @@ -152927,12 +153227,12 @@ var aFunc = [15]struct { {FzName: ts + 23242 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { - FzName uintptr - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{ {FzName: ts + 23253 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, @@ -152966,19 +153266,19 @@ type Rtree1 = struct { FinWrTrans U8 FnAux U8 FnAuxNotNull U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiDepth int32 FzDb uintptr FzName uintptr FnBusy U32 - _ [4]byte + F__ccgo_pad2 [4]byte FnRowEst I64 FnCursor U32 FnNodeRef U32 FzReadAuxSql uintptr FpDeleted uintptr FiReinsertHeight int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpNodeBlob uintptr FpWriteNode uintptr FpDeleteNode uintptr @@ -153007,21 +153307,21 @@ type RtreeCursor1 = struct { FatEOF U8 FbPoint U8 FbAuxValid U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiStrategy int32 FnConstraint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaConstraint uintptr FnPointAlloc int32 FnPoint int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaPoint uintptr FpReadAux uintptr FsPoint RtreeSearchPoint FaNode [5]uintptr FanQueue [41]U32 - _ [4]byte + F__ccgo_pad4 [4]byte } /* sqlite3.c:192363:9 */ type RtreeCursor = RtreeCursor1 /* sqlite3.c:192363:28 */ @@ -153050,13 +153350,13 @@ type RtreeConstraint1 = struct { type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:192366:32 */ type RtreeMatchArg1 = struct { - FiSize U32 - _ [4]byte - Fcb RtreeGeomCallback - FnParam int32 - _ [4]byte - FapSqlParam uintptr - FaParam [1]RtreeDValue + FiSize U32 + F__ccgo_pad1 [4]byte + Fcb RtreeGeomCallback + FnParam int32 + F__ccgo_pad2 [4]byte + FapSqlParam uintptr + FaParam [1]RtreeDValue } /* sqlite3.c:192367:9 */ type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:192367:30 */ @@ -153072,12 +153372,12 @@ type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:192365:9 */ type RtreeCoord = RtreeCoord1 /* sqlite3.c:192369:26 */ type RtreeSearchPoint1 = struct { - FrScore RtreeDValue - Fid Sqlite3_int64 - FiLevel U8 - FeWithin U8 - FiCell U8 - _ [5]byte + FrScore RtreeDValue + Fid Sqlite3_int64 + FiLevel U8 + FeWithin U8 + FiCell U8 + F__ccgo_pad1 [5]byte } /* sqlite3.c:192363:9 */ type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:192370:33 */ @@ -153585,7 +153885,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:193357:13: */ var pInfo uintptr = (*RtreeConstraint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(pCsr)).FaConstraint + uintptr(i)*24)).FpInfo if pInfo != 0 { if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 32 /* &.xDelUser */))))(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser})).f(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) } Xsqlite3_free(tls, pInfo) } @@ -153721,7 +154021,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe } if (*RtreeConstraint)(unsafe.Pointer(pConstraint)).Fop == RTREE_MATCH { *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) = 0 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xGeom */))))(tls, pInfo, + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo, nCoord, bp+8 /* &aCoord[0] */, bp+88 /* &eWithin */) if *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) == 0 { *(*int32)(unsafe.Pointer(peWithin)) = NOT_WITHIN @@ -153732,7 +154034,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FiLevel = (int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FiLevel) - 1) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FrScore = libc.AssignPtrFloat64(pInfo+80 /* &.rParentScore */, (*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FrScore) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin = libc.AssignPtrInt32(pInfo+88 /* &.eParentWithin */, int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FeWithin)) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xQueryFunc */))))(tls, pInfo) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo) if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin < *(*int32)(unsafe.Pointer(peWithin)) { *(*int32)(unsafe.Pointer(peWithin)) = (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin } @@ -155118,7 +155422,9 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe (*RtreeNode)(unsafe.Pointer(pChild)).FpParent = pNode } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32)(unsafe.Pointer(&xSetMapping)))(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:194817:12: */ @@ -156747,10 +157053,10 @@ type RtreeCheck1 = struct { FnLeaf int32 FnNonLeaf int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzReport uintptr FnErr int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:196179:9 */ // Context object passed between the various routines that make up the @@ -157299,12 +157605,12 @@ type GeoPoly = GeoPoly1 /* sqlite3.c:196759:24 */ // State of a parse of a GeoJSON input. type GeoParse1 = struct { - Fz uintptr - FnVertex int32 - FnAlloc int32 - FnErr int32 - _ [4]byte - Fa uintptr + Fz uintptr + FnVertex int32 + FnAlloc int32 + FnErr int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* sqlite3.c:196782:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient @@ -158202,25 +158508,25 @@ func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // Objects used by the overlap algorihm. type GeoEvent1 = struct { - Fx float64 - FeType int32 - _ [4]byte - FpSeg uintptr - FpNext uintptr + Fx float64 + FeType int32 + F__ccgo_pad1 [4]byte + FpSeg uintptr + FpNext uintptr } /* sqlite3.c:197516:9 */ // Objects used by the overlap algorihm. type GeoEvent = GeoEvent1 /* sqlite3.c:197516:25 */ type GeoSegment1 = struct { - FC float64 - FB float64 - Fy float64 - Fy0 float32 - Fside uint8 - _ [3]byte - Fidx uint32 - _ [4]byte - FpNext uintptr + FC float64 + FB float64 + Fy float64 + Fy0 float32 + Fside uint8 + F__ccgo_pad1 [3]byte + Fidx uint32 + F__ccgo_pad2 [4]byte + FpNext uintptr } /* sqlite3.c:197516:9 */ type GeoSegment = GeoSegment1 /* sqlite3.c:197517:27 */ @@ -159332,11 +159638,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 var rc int32 = SQLITE_OK var i int32 for i = 0; (uint64(i) < (uint64(unsafe.Sizeof(aFunc1)) / uint64(unsafe.Sizeof(struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{})))) && (rc == SQLITE_OK); i++ { var enc int32 if aFunc1[i].FbPure != 0 { @@ -159364,11 +159670,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 } var aFunc1 = [12]struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{ {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25921 /* "geopoly_area" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25934 /* "geopoly_blob" */}, @@ -159437,7 +159743,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:198508:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 16 /* &.xDestructor */))))(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) } Xsqlite3_free(tls, p) } @@ -159937,16 +160243,16 @@ func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr type sqlite3rbu = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FdbMain uintptr FdbRbu uintptr FzTarget uintptr FzRbu uintptr FzState uintptr FzStateDb [5]uint8 - _ [3]byte + F__ccgo_pad2 [3]byte Frc int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzErrmsg uintptr FnStep int32 FnProgress int32 @@ -159954,7 +160260,7 @@ type sqlite3rbu = struct { FzVfsName uintptr FpTargetFd uintptr FnPagePerSector int32 - _ [4]byte + F__ccgo_pad4 [4]byte FiOalSz I64 FnPhaseOneStep I64 FiMaxFrame U32 @@ -159963,13 +160269,13 @@ type sqlite3rbu = struct { FnFrameAlloc int32 FaFrame uintptr Fpgsz int32 - _ [4]byte + F__ccgo_pad5 [4]byte FaBuf uintptr FiWalCksum I64 FszTemp I64 FszTempLimit I64 FnRbu int32 - _ [4]byte + F__ccgo_pad6 [4]byte FpRbuFd uintptr } /* sqlite3.c:199829:9 */ @@ -160495,60 +160801,60 @@ type RbuFrame1 = struct { type RbuFrame = RbuFrame1 /* sqlite3.c:200253:25 */ type RbuObjIter1 = struct { - FpTblIter uintptr - FpIdxIter uintptr - FnTblCol int32 - _ [4]byte - FazTblCol uintptr - FazTblType uintptr - FaiSrcOrder uintptr - FabTblPk uintptr - FabNotNull uintptr - FabIndexed uintptr - FeType int32 - FbCleanup int32 - FzTbl uintptr - FzDataTbl uintptr - FzIdx uintptr - FiTnum int32 - FiPkTnum int32 - FbUnique int32 - FnIndex int32 - FnCol int32 - _ [4]byte - FpSelect uintptr - FpInsert uintptr - FpDelete uintptr - FpTmpInsert uintptr - FnIdxCol int32 - _ [4]byte - FaIdxCol uintptr - FzIdxSql uintptr - FpRbuUpdate uintptr + FpTblIter uintptr + FpIdxIter uintptr + FnTblCol int32 + F__ccgo_pad1 [4]byte + FazTblCol uintptr + FazTblType uintptr + FaiSrcOrder uintptr + FabTblPk uintptr + FabNotNull uintptr + FabIndexed uintptr + FeType int32 + FbCleanup int32 + FzTbl uintptr + FzDataTbl uintptr + FzIdx uintptr + FiTnum int32 + FiPkTnum int32 + FbUnique int32 + FnIndex int32 + FnCol int32 + F__ccgo_pad2 [4]byte + FpSelect uintptr + FpInsert uintptr + FpDelete uintptr + FpTmpInsert uintptr + FnIdxCol int32 + F__ccgo_pad3 [4]byte + FaIdxCol uintptr + FzIdxSql uintptr + FpRbuUpdate uintptr } /* sqlite3.c:199829:9 */ type RbuObjIter = RbuObjIter1 /* sqlite3.c:200254:27 */ type RbuState1 = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzTbl uintptr FzDataTbl uintptr FzIdx uintptr FiWalCksum I64 FnRow int32 - _ [4]byte + F__ccgo_pad2 [4]byte FnProgress I64 FiCookie U32 - _ [4]byte + F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 } /* sqlite3.c:200255:9 */ type RbuState = RbuState1 /* sqlite3.c:200255:25 */ type RbuSpan1 = struct { - FzSpan uintptr - FnSpan int32 - _ [4]byte + FzSpan uintptr + FnSpan int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:199829:9 */ type RbuSpan = RbuSpan1 /* sqlite3.c:200256:24 */ @@ -160572,7 +160878,7 @@ type rbu_file = struct { FiCookie U32 FiWriteVer U8 FbNolock U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnShm int32 FapShm uintptr FzDel uintptr @@ -161355,6 +161661,7 @@ __15: goto __14 goto __16 __16: + } // This is a helper function for rbuObjIterCacheTableInfo(). It populates @@ -163109,9 +163416,11 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:203029:12: */ var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // var ptr uintptr at bp, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = ((I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 11*4)))) + iRet = ((I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 11*4)))) } } return iRet @@ -163200,7 +163509,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal var pWal uintptr = (*Rbu_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal - nSectorSize = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 88 /* &.xSectorSize */))))(tls, pDb) + nSectorSize = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSectorSize})).f(tls, pDb) if nSectorSize > (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = (nSectorSize / (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz) } else { @@ -163211,7 +163522,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // directory in which the target database and the wal file reside, in // case it has not been synced since the rename() call in // rbuMoveOalFile(). - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 40 /* &.xSync */))))(tls, pWal, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})).f(tls, pWal, SQLITE_SYNC_NORMAL) } } } @@ -163272,22 +163585,30 @@ func rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) { /* sqlite3.c var iOff I64 iOff = ((((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame - U32(1))) * (I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz + 24))) + int64(32)) + int64(24)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 16 /* &.xRead */))))(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})).f(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return } iOff = ((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiDbPage - U32(1))) * I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 24 /* &.xWrite */))))(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})).f(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) } // Take an EXCLUSIVE lock on the database file. func rbuLockDatabase(tls *libc.TLS, p uintptr) { /* sqlite3.c:203202:13: */ var pReal uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_SHARED) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_SHARED) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_EXCLUSIVE) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_EXCLUSIVE) } } @@ -163794,15 +164115,19 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // Sync the db file - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) // Update nBackfill if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // var ptr uintptr at bp+16, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* ptr */))) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -163907,7 +164232,9 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zOal, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zOal, 0) Xsqlite3_free(tls, zOal) } } @@ -164284,7 +164611,9 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Sync the db file if currently doing an incremental checkpoint if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) @@ -164408,7 +164737,9 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 // Sync the db file if (rc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -164504,7 +164835,9 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:204477:13: */ var i int32 for i = 0; i < SQLITE_SHM_NLOCK; i++ { if ((U32(int32(1) << i)) & (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock) != 0 { - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xShmLock)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) } } (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock = U32(0) @@ -164608,13 +164941,17 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204569:12: * if ((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0 { rbuMainlistRemove(tls, p) rbuUnlockShm(tls, p) - (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) } else if (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_DELETEONCLOSE) != 0) && ((*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0) { rbuUpdateTempSize(tls, p, int64(0)) } // Close the underlying file handle - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 8 /* &.xClose */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) return rc } @@ -164657,7 +164994,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq rc = SQLITE_OK libc.Xmemset(tls, zBuf, 0, uint64(iAmt)) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 16 /* &.xRead */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) // If this is being called to read the first page of the target // database as part of an rbu vacuum operation, synthesize the // contents of the first page if it does not yet exist. Otherwise, @@ -164667,7 +165006,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0)) && ((*Sqlite3rbu)(unsafe.Pointer(pRbu)).Frc == SQLITE_OK) { var pFd uintptr = (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpRbuFd - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods + 16 /* &.xRead */))))(tls, pFd, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FxRead})).f(tls, pFd, zBuf, iAmt, iOfst) if rc == SQLITE_OK { var aBuf uintptr = zBuf var iRoot U32 @@ -164726,7 +165067,9 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } } } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 24 /* &.xWrite */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) if ((rc == SQLITE_OK) && (iOfst == int64(0))) && (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0) { // These look like magic numbers. But they are stable, as they are part // of the definition of the SQLite file format, which may not change. @@ -164747,7 +165090,9 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* return rc } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 32 /* &.xTruncate */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) } // Sync an rbuVfs-file. @@ -164759,14 +165104,18 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xSync */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) } // Return the current file-size of an rbuVfs-file. func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:204763:12: */ var p uintptr = pFile var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 48 /* &.xFileSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) // If this is an RBU vacuum operation and this is the target database, // pretend that it has at least one page. Otherwise, SQLite will not @@ -164792,7 +165141,9 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // prevents it from checkpointing the database from sqlite3_close(). rc = SQLITE_BUSY } else { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 56 /* &.xLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } return rc @@ -164801,13 +165152,17 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // Unlock an rbuVfs-file. func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:204806:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xUnlock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:204814:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) } // File control method. For custom operations on an rbuVfs-file. @@ -164825,13 +165180,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // First try to find another RBU vfs lower down in the vfs stack. If // one is found, this vfs will operate in pass-through mode. The lower // level vfs will do the special RBU handling. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if rc == SQLITE_NOTFOUND { // Now search for a zipvfs instance lower down in the VFS stack. If // one is found, this is an error. *(*uintptr)(unsafe.Pointer(bp + 16 /* dummy */)) = uintptr(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30499 /* "rbu/zipvfs setup..." */, 0) @@ -164853,7 +165212,9 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int (*Rbu_file)(unsafe.Pointer(p)).FbNolock = U8(1) } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg)) @@ -164870,13 +165231,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // Return the sector-size in bytes for an rbuVfs-file. func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204878:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 88 /* &.xSectorSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Return the device characteristic flags supported by an rbuVfs-file. func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204886:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Take or release a shared-memory lock. @@ -164900,7 +165265,9 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 bCapture = 1 } if (bCapture == 0) || (0 == (flags & SQLITE_SHM_UNLOCK)) { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) if (bCapture != 0) && (rc == SQLITE_OK) { *(*U32)(unsafe.Pointer(pRbu + 316 /* &.mLock */)) |= (U32(((int32(1) << n) - 1) << ofst)) } @@ -164953,13 +165320,15 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } if rc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) } else { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) } } else { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) } return rc @@ -164968,7 +165337,7 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i // Memory barrier. func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:204990:13: */ var p uintptr = pFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. @@ -164987,7 +165356,9 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } else { // Release the checkpointer and writer locks rbuUnlockShm(tls, p) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) } return rc } @@ -165042,7 +165413,9 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 40 /* &.xOpen */))))(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxOpen})).f(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) } if (*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pFd)).FpReal)).FpMethods != 0 { // The xOpen() operation has succeeded. Set the sqlite3_file.pMethods @@ -165082,7 +165455,9 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ // Delete the file located at zPath. func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:205115:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 48 /* &.xDelete */))))(tls, pRealVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDelete})).f(tls, pRealVfs, zPath, dirSync) } // Test for access permissions. Return true if the requested permission @@ -165095,7 +165470,9 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 56 /* &.xAccess */))))(tls, pRealVfs, zPath, flags, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxAccess})).f(tls, pRealVfs, zPath, flags, pResOut) // If this call is to check if a *-wal file associated with an RBU target // database connection exists, and the RBU update is in RBU_STAGE_OAL, @@ -165132,13 +165509,17 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // of at least (DEVSYM_MAX_PATHNAME+1) bytes. func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:205172:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 64 /* &.xFullPathname */))))(tls, pRealVfs, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxFullPathname})).f(tls, pRealVfs, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:205186:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 72 /* &.xDlOpen */))))(tls, pRealVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlOpen})).f(tls, pRealVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable @@ -165146,39 +165527,51 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // with dynamic libraries. func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:205196:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pRealVfs + 80 /* &.xDlError */))))(tls, pRealVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlError})).f(tls, pRealVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:205204:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 88 /* &.xDlSym */))))(tls, pRealVfs, pArg, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlSym})).f(tls, pRealVfs, pArg, zSym) } // Close the dynamic library handle pHandle. func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:205216:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pRealVfs + 96 /* &.xDlClose */))))(tls, pRealVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlClose})).f(tls, pRealVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:205226:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 104 /* &.xRandomness */))))(tls, pRealVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxRandomness})).f(tls, pRealVfs, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:205235:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 112 /* &.xSleep */))))(tls, pRealVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxSleep})).f(tls, pRealVfs, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:205243:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pRealVfs + 120 /* &.xCurrentTime */))))(tls, pRealVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxCurrentTime})).f(tls, pRealVfs, pTimeOut) } // No-op. @@ -165429,14 +165822,14 @@ type SessionTable1 = struct { type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ type SessionChange1 = struct { - Fop U8 - FbIndirect U8 - _ [2]byte - FnMaxSize int32 - FnRecord int32 - _ [4]byte - FaRecord uintptr - FpNext uintptr + Fop U8 + FbIndirect U8 + F__ccgo_pad1 [2]byte + FnMaxSize int32 + FnRecord int32 + F__ccgo_pad2 [4]byte + FaRecord uintptr + FpNext uintptr } /* sqlite3.c:11155:9 */ type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ @@ -165448,18 +165841,18 @@ type SessionBuffer1 = struct { type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ type SessionInput1 = struct { - FbNoDiscard int32 - FiCurrent int32 - FiNext int32 - _ [4]byte - FaData uintptr - FnData int32 - _ [4]byte - Fbuf SessionBuffer - FxInput uintptr - FpIn uintptr - FbEof int32 - _ [4]byte + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaData uintptr + FnData int32 + F__ccgo_pad2 [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + F__ccgo_pad3 [4]byte } /* sqlite3.c:11163:9 */ type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ @@ -165705,9 +166098,13 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // var pVal uintptr at bp, 8 if bNew != 0 { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } if rc != SQLITE_OK { return rc @@ -166026,10 +166423,14 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // this (that the method has already been called). if op == SQLITE_INSERT { // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } else { // assert( db->pPreUpdate->pUnpacked ); - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { @@ -166313,7 +166714,9 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxOld})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob } @@ -166327,7 +166730,9 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxNew})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob } @@ -166337,12 +166742,16 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ var p uintptr = pCtx - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ var p uintptr = pCtx - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ @@ -166355,7 +166764,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt var ii int32 for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) } } @@ -166372,7 +166783,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt var nOld int32 = 0 var eType int32 *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { return SQLITE_NOMEM } @@ -166500,7 +166913,9 @@ __2: // Check the number of columns in this xPreUpdate call matches the // number of columns in the table. - if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { goto __3 } (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA @@ -166603,14 +167018,18 @@ __16: if !(op != SQLITE_INSERT) { goto __19 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) goto __20 __19: if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { goto __21 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) __21: ; @@ -166662,13 +167081,17 @@ __25: if !(op != SQLITE_INSERT) { goto __28 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) goto __29 __28: if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { goto __30 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) __30: ; __29: @@ -166683,7 +167106,9 @@ __27: ; // Add the change to the hash-table - if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { goto __31 } (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) @@ -166701,7 +167126,9 @@ __14: } // If the existing change is considered "indirect", but this current // change is "direct", mark the change object as direct. - if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + if !(((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { goto __33 } @@ -166753,7 +167180,9 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint // If there is a table-filter configured, invoke it. If it returns 0, // do not automatically add the new table. if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || - ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + ((*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { rc = Xsqlite3session_attach(tls, pSession, zName) if rc == SQLITE_OK { for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { @@ -166838,9 +167267,9 @@ func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:20816 } type SessionDiffCtx1 = struct { - FpStmt uintptr - FnOldOff int32 - _ [4]byte + FpStmt uintptr + FnOldOff int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:208177:9 */ type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ @@ -167965,7 +168394,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) nNoop = -1 (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 } @@ -167987,7 +168418,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) } } @@ -168188,7 +168621,9 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli sessionDiscardData(tls, pIn) } if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionInput)(unsafe.Pointer(pIn)).FxInput})).f(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 } else { @@ -169055,7 +169490,9 @@ __6: if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { goto __28 } - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { goto __29 @@ -169080,7 +169517,9 @@ __30: if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { goto __32 } - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) __32: ; __31: @@ -169141,7 +169580,7 @@ type SessionApplyCtx1 = struct { FpInsert uintptr FpSelect uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabPK uintptr FaUpdateMask uintptr @@ -169149,12 +169588,12 @@ type SessionApplyCtx1 = struct { FbStat1 int32 FbDeferConstraints int32 FbInvertConstraints int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fconstraints SessionBuffer Frebase SessionBuffer FbRebaseStarted U8 FbRebase U8 - _ [6]byte + F__ccgo_pad3 [6]byte } /* sqlite3.c:210362:9 */ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ @@ -169500,7 +169939,9 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { // var pVal uintptr at bp, 8 - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp /* &pVal */) if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. @@ -169669,7 +170110,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { // There exists another row with the new.* primary key. (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, eType, pIter) (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { @@ -169682,7 +170125,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr return SQLITE_OK } else { // No other row with the new.* primary key. - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, (eType + 1), pIter) if res == SQLITE_CHANGESET_REPLACE { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE } @@ -170037,7 +170482,9 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // If an xFilter() callback was specified, invoke it now. If the // xFilter callback returns zero, skip this table. If it returns // non-zero, proceed. - schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xFilter})).f(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) if schemaMismatch != 0 { *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { @@ -170128,7 +170575,9 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) if res != SQLITE_CHANGESET_OMIT { rc = SQLITE_CONSTRAINT } @@ -170539,7 +170988,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 } } @@ -170549,7 +171000,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { if xOutput != 0 { if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) } } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf @@ -170890,7 +171343,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) } if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 } if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { @@ -170906,7 +171361,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { if xOutput != 0 { if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) } } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf @@ -171157,14 +171614,14 @@ type Fts5Config1 = struct { FzDb uintptr FzName uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabUnindexed uintptr FnPrefix int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaPrefix uintptr FeContent int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzContent uintptr FzContentRowid uintptr FbColumnsize int32 @@ -171219,13 +171676,13 @@ type Fts5Buffer1 = struct { type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:213265:27 */ type Fts5PoslistReader1 = struct { - Fa uintptr - Fn int32 - Fi int32 - FbFlag U8 - FbEof U8 - _ [6]byte - FiPos I64 + Fa uintptr + Fn int32 + Fi int32 + FbFlag U8 + FbEof U8 + F__ccgo_pad1 [6]byte + FiPos I64 } /* sqlite3.c:213118:9 */ type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:213301:34 */ @@ -171253,10 +171710,10 @@ type Fts5Index1 = struct { FpConfig uintptr FzDataTbl uintptr FnWorkUnit int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpHash uintptr FnPendingData int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiWriteRowid I64 FbDelete int32 Frc int32 @@ -171267,7 +171724,7 @@ type Fts5Index1 = struct { FpIdxDeleter uintptr FpIdxSelect uintptr FnRead int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr @@ -171284,11 +171741,11 @@ type Fts5Index1 = struct { type Fts5Index = Fts5Index1 /* sqlite3.c:213356:26 */ type Fts5IndexIter1 = struct { - FiRowid I64 - FpData uintptr - FnData int32 - FbEof U8 - _ [3]byte + FiRowid I64 + FpData uintptr + FnData int32 + FbEof U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:213118:9 */ type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:213357:30 */ @@ -171327,13 +171784,13 @@ type Fts5Table = Fts5Table1 /* sqlite3.c:213556:26 */ // // Interface to code in fts5_hash.c. type Fts5Hash1 = struct { - FeDetail int32 - _ [4]byte - FpnByte uintptr - FnEntry int32 - FnSlot int32 - FpScan uintptr - FaSlot uintptr + FeDetail int32 + F__ccgo_pad1 [4]byte + FpnByte uintptr + FnEntry int32 + FnSlot int32 + FpScan uintptr + FaSlot uintptr } /* sqlite3.c:213118:9 */ // @@ -171358,7 +171815,7 @@ type Fts5Storage1 = struct { FpConfig uintptr FpIndex uintptr FbTotalsValid int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr @@ -171400,16 +171857,16 @@ type Fts5Expr1 = struct { // Interface to code in fts5_expr.c. type Fts5Expr = Fts5Expr1 /* sqlite3.c:213681:25 */ type Fts5ExprNode1 = struct { - FeType int32 - FbEof int32 - FbNomatch int32 - _ [4]byte - FxNext uintptr - FiRowid I64 - FpNear uintptr - FnChild int32 - _ [4]byte - FapChild [1]uintptr + FeType int32 + FbEof int32 + FbNomatch int32 + F__ccgo_pad1 [4]byte + FxNext uintptr + FiRowid I64 + FpNear uintptr + FnChild int32 + F__ccgo_pad2 [4]byte + FapChild [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:213682:29 */ @@ -171421,33 +171878,33 @@ type Fts5Parse1 = struct { FapPhrase uintptr FpExpr uintptr FbPhraseToAnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:213683:9 */ type Fts5Parse = Fts5Parse1 /* sqlite3.c:213683:26 */ type Fts5Token1 = struct { - Fp uintptr - Fn int32 - _ [4]byte + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:213684:9 */ type Fts5Token = Fts5Token1 /* sqlite3.c:213684:26 */ type Fts5ExprPhrase1 = struct { - FpNode uintptr - Fposlist Fts5Buffer - FnTerm int32 - _ [4]byte - FaTerm [1]Fts5ExprTerm + FpNode uintptr + Fposlist Fts5Buffer + FnTerm int32 + F__ccgo_pad1 [4]byte + FaTerm [1]Fts5ExprTerm } /* sqlite3.c:213118:9 */ type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:213685:31 */ type Fts5ExprNearset1 = struct { - FnNear int32 - _ [4]byte - FpColset uintptr - FnPhrase int32 - _ [4]byte - FapPhrase [1]uintptr + FnNear int32 + F__ccgo_pad1 [4]byte + FpColset uintptr + FnPhrase int32 + F__ccgo_pad2 [4]byte + FapPhrase [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:213686:32 */ @@ -171560,9 +172017,9 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:213734:37 */ // fts5YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type Fts5YYMINORTYPE = struct { - _ [0]uint64 - Ffts5yyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Ffts5yyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:214010:3 */ //************ End control #defines ****************************************** @@ -171700,10 +172157,10 @@ var fts5yy_default = [35]uint8{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type fts5yyStackEntry = struct { - Fstateno uint8 - Fmajor uint8 - _ [6]byte - Fminor Fts5YYMINORTYPE + Fstateno uint8 + Fmajor uint8 + F__ccgo_pad1 [6]byte + Fminor Fts5YYMINORTYPE } /* sqlite3.c:214190:1 */ type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:214197:33 */ @@ -171746,7 +172203,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:214408:13: */ var fts5yypParser uintptr - fts5yypParser = (*(*func(*libc.TLS, U64) uintptr)(unsafe.Pointer(&mallocProc)))(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) + fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { sqlite3Fts5ParserInit(tls, fts5yypParser) @@ -171844,7 +172301,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli return } sqlite3Fts5ParserFinalize(tls, p) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&freeProc)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{freeProc})).f(tls, p) } // Return the peak depth of the stack for a parser. @@ -172377,14 +172834,14 @@ func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c // } // type CInstIter1 = struct { - FpApi uintptr - FpFts uintptr - FiCol int32 - FiInst int32 - FnInst int32 - FiStart int32 - FiEnd int32 - _ [4]byte + FpApi uintptr + FpFts uintptr + FiCol int32 + FiInst int32 + FnInst int32 + FiStart int32 + FiEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:215383:9 */ // 2014 May 31 @@ -172455,10 +172912,14 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:215400 // var io int32 at bp+8, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 72 /* &.xInst */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxInst})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp + 4 /* ic */)) == (*CInstIter)(unsafe.Pointer(pIter)).FiCol { - var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) + var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxPhraseSize})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) if (*CInstIter)(unsafe.Pointer(pIter)).FiStart < 0 { (*CInstIter)(unsafe.Pointer(pIter)).FiStart = *(*int32)(unsafe.Pointer(bp + 8 /* io */)) (*CInstIter)(unsafe.Pointer(pIter)).FiEnd = iEnd @@ -172486,7 +172947,9 @@ func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pI (*CInstIter)(unsafe.Pointer(pIter)).FpApi = pApi (*CInstIter)(unsafe.Pointer(pIter)).FpFts = pFts (*CInstIter)(unsafe.Pointer(pIter)).FiCol = iCol - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, (pIter + 24 /* &.nInst */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, (pIter + 24 /* &.nInst */)) if rc == SQLITE_OK { rc = fts5CInstIterNext(tls, pIter) @@ -172503,7 +172966,7 @@ type HighlightContext1 = struct { FiPos int32 FiRangeStart int32 FiRangeEnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzOpen uintptr FzClose uintptr FzIn uintptr @@ -172615,7 +173078,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzClose = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { @@ -172623,7 +173088,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp } if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -172648,7 +173115,7 @@ type Fts5SFinder1 = struct { FiPos int32 FnFirstAlloc int32 FnFirst int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr } /* sqlite3.c:215598:9 */ @@ -172732,9 +173199,13 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, var iLast int32 = 0 var iEnd Sqlite3_int64 = (Sqlite3_int64(iPos) + Sqlite3_int64(nToken)) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp /* &nInst */) for i = 0; (i < *(*int32)(unsafe.Pointer(bp /* nInst */))) && (rc == SQLITE_OK); i++ { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) if (((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 8 /* ic */)) == iCol)) && (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) >= iPos)) && (Sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 12 /* iOff */))) < iEnd) { nScore = nScore + (func() int32 { if *(*uint8)(unsafe.Pointer(aSeen + uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* ip */))))) != 0 { @@ -172746,7 +173217,9 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, if iFirst < 0 { iFirst = *(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) } - iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) + iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) } } @@ -172805,7 +173278,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr return } - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xColumnCount */))))(tls, pFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts) libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) iCol = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = fts5ValueToText(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) @@ -172819,13 +173294,17 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } return 0 }() - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) aSeen = Xsqlite3_malloc(tls, nPhrase) if aSeen == uintptr(0) { *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+96 /* &nInst */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+96 /* &nInst */) } libc.Xmemset(tls, bp+104 /* &sFinder */, 0, uint64(unsafe.Sizeof(Fts5SFinder{}))) @@ -172838,18 +173317,24 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var ii int32 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FiPos = 0 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FnFirst = 0 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*Fts5SFinder)(unsafe.Pointer(bp+104 /* &sFinder */)).FzDoc, *(*int32)(unsafe.Pointer(bp + 136 /* nDoc */)), bp+104 /* &sFinder */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5SentenceFinderCb}))) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, i, bp+140 /* &nDocsize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+140 /* &nDocsize */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } @@ -172867,7 +173352,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var jj int32 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) if *(*int32)(unsafe.Pointer(bp + 148 /* ic */)) != i { continue } @@ -172918,10 +173405,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) } if (*(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 164 /* nColSize */)) == 0) { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, iBestCol, bp+164 /* &nColSize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, iBestCol, bp+164 /* &nColSize */) } if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { @@ -172942,7 +173433,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -172967,11 +173460,11 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. type Fts5Bm25Data1 = struct { - FnPhrase int32 - _ [4]byte - Favgdl float64 - FaIDF uintptr - FaFreq uintptr + FnPhrase int32 + F__ccgo_pad1 [4]byte + Favgdl float64 + FaIDF uintptr + FaFreq uintptr } /* sqlite3.c:215879:9 */ //********************************************************************** @@ -173000,7 +173493,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var rc int32 = SQLITE_OK // Return code var p uintptr // Object to return - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((pApi + 120 /* &.xGetAuxdata */))))(tls, pFts, 0) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0) if p == uintptr(0) { var nPhrase int32 // Number of phrases in query *(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)) = int64(0) // Number of rows in table @@ -173009,7 +173504,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var i int32 // Allocate the Fts5Bm25Data object - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) nByte = (Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Bm25Data{})) + ((uint64(nPhrase * 2)) * uint64(unsafe.Sizeof(float64(0)))))) p = Xsqlite3_malloc64(tls, uint64(nByte)) if p == uintptr(0) { @@ -173023,11 +173520,15 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate the average document length for this FTS5 table if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp /* &nRow */) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xColumnTotalSize */))))(tls, pFts, -1, bp+8 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, -1, bp+8 /* &nToken */) } if rc == SQLITE_OK { (*Fts5Bm25Data)(unsafe.Pointer(p)).Favgdl = (float64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* nToken */))) / float64(*(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)))) @@ -173036,7 +173537,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate an IDF for each phrase in the query for i = 0; (rc == SQLITE_OK) && (i < nPhrase); i++ { *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* nHit */)) = int64(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 104 /* &.xQueryPhrase */))))(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{fts5CountCb}))) if rc == SQLITE_OK { @@ -173064,7 +173567,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) if rc != SQLITE_OK { Xsqlite3_free(tls, p) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 112 /* &.xSetAuxdata */))))(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } if rc != SQLITE_OK { p = uintptr(0) @@ -173096,7 +173601,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { aFreq = (*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FaFreq libc.Xmemset(tls, aFreq, 0, (uint64(unsafe.Sizeof(float64(0))) * uint64((*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FnPhrase))) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+8 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+8 /* &nInst */) } for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nInst */))); i++ { // var ip int32 at bp+12, 4 @@ -173105,7 +173612,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n // var io int32 at bp+20, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) if rc == SQLITE_OK { var w float64 if nVal > *(*int32)(unsafe.Pointer(bp + 16 /* ic */)) { @@ -173121,7 +173630,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { // var nTok int32 at bp+24, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, -1, bp+24 /* &nTok */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, -1, bp+24 /* &nTok */) D = float64(*(*int32)(unsafe.Pointer(bp + 24 /* nTok */))) } @@ -173156,7 +173667,9 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([3]Builtin{})) / uint64(unsafe.Sizeof(Builtin{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xCreateFunction */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateFunction})).f(tls, pApi, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzFunc, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FpUserData, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FxFunc, @@ -173780,9 +174293,9 @@ func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:216659:13: */ } type Fts5Enum1 = struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:216670:1 */ type Fts5Enum = Fts5Enum1 /* sqlite3.c:216674:25 */ @@ -174214,7 +174727,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:217109 if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 8 /* &.xDelete */))))(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxDelete})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) } Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb) Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName) @@ -174289,7 +174802,9 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint if pText == uintptr(0) { return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxTokenize})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok, pCtx, flags, pText, nText, xToken) } @@ -174547,12 +175062,12 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 // All token types in the generated fts5parse.h file are greater than 0. type Fts5ExprTerm1 = struct { - FbPrefix U8 - FbFirst U8 - _ [6]byte - FzTerm uintptr - FpIter uintptr - FpSynonym uintptr + FbPrefix U8 + FbFirst U8 + F__ccgo_pad1 [6]byte + FzTerm uintptr + FpIter uintptr + FpSynonym uintptr } /* sqlite3.c:213118:9 */ // 2014 May 31 @@ -175998,7 +176513,9 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid if (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0 { if ((*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid == iLast) || ((bFromValid != 0) && (fts5RowidCmp(tls, pExpr, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid, iFrom) < 0)) { - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, bFromValid, iFrom) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 return rc @@ -176026,7 +176543,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* var cmp int32 = fts5RowidCmp(tls, pExpr, iLast, (*Fts5ExprNode)(unsafe.Pointer(pChild)).FiRowid) if cmp > 0 { // Advance pChild until it points to iLast or laster - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pChild + 16 /* &.xNext */))))(tls, pExpr, pChild, 1, iLast) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pChild))).FxNext})).f(tls, pExpr, pChild, 1, iLast) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FbNomatch = 0 return rc @@ -176061,7 +176580,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* } func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218749:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_AND(tls, pExpr, pNode) } else { @@ -176078,14 +176599,18 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / for (rc == SQLITE_OK) && ((*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0) { var cmp int32 = fts5NodeCompare(tls, pExpr, p1, p2) if cmp > 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p2 + 16 /* &.xNext */))))(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p2))).FxNext})).f(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) cmp = fts5NodeCompare(tls, pExpr, p1, p2) } if (cmp != 0) || ((*Fts5ExprNode)(unsafe.Pointer(p2)).FbNomatch != 0) { break } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, 0, int64(0)) } (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbNomatch @@ -176097,7 +176622,9 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / } func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218792:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_NOT(tls, pExpr, pNode) } @@ -176238,13 +176765,17 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD if ((rc == SQLITE_OK) && (0 == (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbEof)) && (fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iFirst) < 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 1, iFirst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 1, iFirst) } // If the iterator is not at a real match, skip forward until it is. for ((*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } return rc } @@ -176258,7 +176789,9 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot for ok := true; ok; ok = (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } if fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iLast) > 0 { @@ -176379,9 +176912,9 @@ func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhra } type TokenCtx1 = struct { - FpPhrase uintptr - Frc int32 - _ [4]byte + FpPhrase uintptr + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:219078:9 */ type TokenCtx = TokenCtx1 /* sqlite3.c:219078:25 */ @@ -178321,7 +178854,7 @@ type Fts5Iter1 = struct { FnSeg int32 FbRev int32 FbSkipEmpty U8 - _ [7]byte + F__ccgo_pad1 [7]byte FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter @@ -178357,7 +178890,7 @@ type Fts5SegIter1 = struct { FiRowid I64 FnPos int32 FbDel U8 - _ [3]byte + F__ccgo_pad1 [3]byte } /* sqlite3.c:221314:9 */ type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:221316:28 */ @@ -178372,26 +178905,26 @@ type Fts5DoclistIter1 = struct { type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:221317:32 */ type Fts5SegWriter1 = struct { FiSegid int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fwriter Fts5PageWriter FiPrevRowid I64 FbFirstRowidInDoclist U8 FbFirstRowidInPage U8 FbFirstTermInPage U8 - _ [1]byte + F__ccgo_pad2 [1]byte FnLeafWritten int32 FnEmpty int32 FnDlidx int32 FaDlidx uintptr Fbtterm Fts5Buffer FiBtPage int32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:221318:9 */ type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:221318:30 */ type Fts5Structure1 = struct { FnRef int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnWriteCounter U64 FnSegment int32 FnLevel int32 @@ -178415,9 +178948,9 @@ type Fts5StructureSegment1 = struct { type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:221321:37 */ type Fts5CResult1 = struct { - FiFirst U16 - FbTermEq U8 - _ [1]byte + FiFirst U16 + FbTermEq U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:221314:9 */ type Fts5CResult = Fts5CResult1 /* sqlite3.c:221431:28 */ @@ -180573,7 +181106,9 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { for ok := true; ok; ok = ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { if (bMove != 0) && ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pIter + 40 /* &.xNext */))))(tls, p, pIter, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext})).f(tls, p, pIter, uintptr(0)) } if (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf == uintptr(0) { break @@ -180607,7 +181142,9 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pIter, i)) != 0 { var pSeg uintptr = ((pIter + 96 /* &.aSeg */) + uintptr(iEq)*120) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iEq) } } @@ -180686,7 +181223,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr if (bUseFrom != 0) && ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpDlidx != 0) { fts5SegIterNextFrom(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), iFrom) } else { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) } if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || @@ -180700,7 +181239,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } if (int32((*Fts5Iter)(unsafe.Pointer(pIter)).FbSkipEmpty) == 0) || ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FnPos != 0) { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pIter + 56 /* &.xSetOutputs */))))(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pIter)).FxSetOutputs})).f(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) return } bUseFrom = 0 @@ -180718,7 +181259,9 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) = ((pIter + 96 /* &.aSeg */) + uintptr(iFirst)*120) *(*int32)(unsafe.Pointer(bp /* bNewTerm */)) = 0 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || (fts5MultiIterAdvanceRowid(tls, pIter, iFirst, bp+8 /* &pSeg */) != 0) { fts5MultiIterAdvanced(tls, p, pIter, iFirst, 1) @@ -180767,10 +181310,10 @@ func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChun } type PoslistCallbackCtx1 = struct { - FpBuf uintptr - FpColset uintptr - FeState int32 - _ [4]byte + FpBuf uintptr + FpColset uintptr + FeState int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:224008:9 */ type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:224008:35 */ @@ -180921,7 +181464,9 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu } for 1 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&xChunk)))(tls, p, pCtx, pChunk, nChunk) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xChunk})).f(tls, p, pCtx, pChunk, nChunk) nRem = nRem - (nChunk) fts5DataRelease(tls, pData) if nRem <= 0 { @@ -181323,7 +181868,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pNew, iIter)) != 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr(iEq)*120) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) } fts5MultiIterAdvanced(tls, p, pNew, iEq, iIter) } @@ -181334,7 +181881,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC fts5MultiIterNext(tls, p, pNew, 0, int64(0)) } else if int32((*Fts5Iter)(unsafe.Pointer(pNew)).Fbase.FbEof) == 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pNew)).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pNew + 56 /* &.xSetOutputs */))))(tls, pNew, pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pNew)).FxSetOutputs})).f(tls, pNew, pSeg) } } else { @@ -182737,12 +183286,12 @@ func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf } type PrefixMerger1 = struct { - Fiter Fts5DoclistIter - FiPos I64 - FiOff int32 - _ [4]byte - FaPos uintptr - FpNext uintptr + Fiter Fts5DoclistIter + FiPos I64 + FiOff int32 + F__ccgo_pad1 [4]byte + FaPos uintptr + FpNext uintptr } /* sqlite3.c:225988:9 */ type PrefixMerger = PrefixMerger1 /* sqlite3.c:225988:29 */ @@ -182988,9 +183537,13 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok fts5IterSetOutputCb(tls, (p + 52 /* &.rc */), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) for ; fts5MultiIterEof(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) == 0; fts5MultiIterNext2(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp+24 /* &dummy */) { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FnData != 0 { - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } } @@ -183004,7 +183557,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) var nTerm int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fn var pTerm uintptr = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fp - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if *(*int32)(unsafe.Pointer(bp + 28 /* bNewTerm */)) != 0 { if (nTerm < nToken) || (libc.Xmemcmp(tls, pToken, pTerm, uint64(nToken)) != 0) { @@ -183029,7 +183584,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok } } if iStore == (i1 + nMerge) { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) for iStore = i1; iStore < (i1 + nMerge); iStore++ { sqlite3Fts5BufferZero(tls, (aBuf + uintptr(iStore)*16)) } @@ -183038,14 +183595,18 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok iLastRowid = int64(0) } - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } for i = 0; i < nBuf; i = i + (nMerge) { var iFree int32 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) } for iFree = i; iFree < (i + nMerge); iFree++ { sqlite3Fts5BufferFree(tls, (aBuf + uintptr(iFree)*16)) @@ -183318,7 +183879,9 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FaFirst+1*4)).FiFirst)*120) if (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) } } } @@ -183918,13 +184481,13 @@ type Fts5Cursor1 = struct { FpExpr uintptr FpSorter uintptr Fcsrflags int32 - _ [4]byte + F__ccgo_pad1 [4]byte FiSpecial I64 FzRank uintptr FzRankArgs uintptr FpRank uintptr FnRankArg int32 - _ [4]byte + F__ccgo_pad2 [4]byte FapRankArg uintptr FpRankArgStmt uintptr FpAux uintptr @@ -183998,9 +184561,9 @@ type Fts5TransactionState = struct { } /* sqlite3.c:227858:1 */ type Fts5MatchPhrase = struct { - FpPoslist uintptr - FnTerm int32 - _ [4]byte + FpPoslist uintptr + FnTerm int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:227915:1 */ // Return true if pTab is a contentless table. @@ -184432,7 +184995,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:228530 for pData = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata; pData != 0; pData = pNext { pNext = (*Fts5Auxdata)(unsafe.Pointer(pData)).FpNext if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } Xsqlite3_free(tls, pData) } @@ -185860,14 +186423,14 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt if pData != 0 { if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } } else { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK pData = sqlite3Fts5MallocZero(tls, bp /* &rc */, int64(unsafe.Sizeof(Fts5Auxdata{}))) if pData == uintptr(0) { if xDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pPtr) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -186085,7 +186648,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui if rc == SQLITE_OK { for rc = fts5CursorFirst(tls, pTab, *(*uintptr)(unsafe.Pointer(bp /* pNew */)), 0); (rc == SQLITE_OK) && (((*Fts5Cursor)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pNew */))))).Fcsrflags & (FTS5CSR_EOF)) == 0); rc = fts5NextMethod(tls, *(*uintptr)(unsafe.Pointer(bp /* pNew */))) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) if rc != SQLITE_OK { if rc == SQLITE_DONE { rc = SQLITE_OK @@ -186102,7 +186667,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:230126:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((pAux + 24 /* &.xFunc */))))(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } @@ -186436,7 +187003,9 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg rc = SQLITE_ERROR *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33997 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { if azArg != 0 { return (azArg + 1*8) @@ -186477,7 +187046,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pAux = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpAux; pAux != 0; pAux = pNextAux { pNextAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext if (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 32 /* &.xDestroy */))))(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy})).f(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) } Xsqlite3_free(tls, pAux) } @@ -186485,7 +187054,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pTok = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpTok; pTok != 0; pTok = pNextTok { pNextTok = (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpNext if (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pTok + 40 /* &.xDestroy */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) } Xsqlite3_free(tls, pTok) } @@ -187852,7 +188421,9 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused asciiFold(tls, pFold, (pText + uintptr(is)), nByte) // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, pFold, nByte, is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, pFold, nByte, is, ie) is = (ie + 1) } @@ -187879,7 +188450,7 @@ type Unicode61Tokenizer1 = struct { FnFold int32 FeRemoveDiacritic int32 FnException int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 } /* sqlite3.c:232110:9 */ @@ -188304,7 +188875,9 @@ __15: ; // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) goto __1 __2: ; @@ -188346,7 +188919,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:232438:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p /* &.tokenizer */ + 8 /* &.xDelete */))))(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxDelete})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) } Xsqlite3_free(tls, p) } @@ -188370,7 +188943,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp pRet = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PorterTokenizer{}))) if pRet != 0 { libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(PorterTokenizer{}))) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xFindTokenizer */))))(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) } else { rc = SQLITE_NOMEM } @@ -188387,7 +188962,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp } return uintptr(0) }() - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRet /* &.tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(pRet)).Ftokenizer.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) } if rc != SQLITE_OK { @@ -188407,13 +188984,13 @@ type PorterContext1 = struct { type PorterContext = PorterContext1 /* sqlite3.c:232487:30 */ type PorterRule1 = struct { - FzSuffix uintptr - FnSuffix int32 - _ [4]byte - FxCond uintptr - FzOutput uintptr - FnOutput int32 - _ [4]byte + FzSuffix uintptr + FnSuffix int32 + F__ccgo_pad1 [4]byte + FxCond uintptr + FzOutput uintptr + FnOutput int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:232494:9 */ type PorterRule = PorterRule1 /* sqlite3.c:232494:27 */ @@ -189025,10 +189602,14 @@ __8: __10: ; - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) pass_through: - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) } // Tokenize using the porter tokenizer. @@ -189042,7 +189623,9 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FxToken = xToken (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FpCtx = pCtx (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FaBuf = p + 32 /* &.aBuf */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.tokenizer */ + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxTokenize})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp /* &sCtx */, flags, pText, nText, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5PorterCb}))) @@ -189227,7 +189810,9 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 } else { break } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) if rc != SQLITE_OK { break } @@ -189291,7 +189876,9 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([4]BuiltinTokenizer{})) / uint64(unsafe.Sizeof(BuiltinTokenizer{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.xCreateTokenizer */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateTokenizer})).f(tls, pApi, (*BuiltinTokenizer)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzName, pApi, (bp /* &aBuiltin */ + uintptr(i)*32 + 8 /* &.x */), @@ -190591,24 +191178,24 @@ type Fts5VocabTable1 = struct { type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:234461:31 */ type Fts5VocabCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FpStmt uintptr - FpFts5 uintptr - FbEof int32 - _ [4]byte - FpIter uintptr - FnLeTerm int32 - _ [4]byte - FzLeTerm uintptr - FiCol int32 - _ [4]byte - FaCnt uintptr - FaDoc uintptr - Frowid I64 - Fterm Fts5Buffer - FiInstPos I64 - FiInstOff int32 - _ [4]byte + Fbase Sqlite3_vtab_cursor + FpStmt uintptr + FpFts5 uintptr + FbEof int32 + F__ccgo_pad1 [4]byte + FpIter uintptr + FnLeTerm int32 + F__ccgo_pad2 [4]byte + FzLeTerm uintptr + FiCol int32 + F__ccgo_pad3 [4]byte + FaCnt uintptr + FaDoc uintptr + Frowid I64 + Fterm Fts5Buffer + FiInstPos I64 + FiInstOff int32 + F__ccgo_pad4 [4]byte } /* sqlite3.c:234462:9 */ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:234462:32 */ @@ -192211,5 +192798,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-7.5.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q) AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00INTEGER\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00RIGHT PART OF ORDER BY\x00ORDER BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql LIKE 'create virtual%%'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file://%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-9.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q) AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00INTEGER\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00RIGHT PART OF ORDER BY\x00ORDER BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql LIKE 'create virtual%%'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file://%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/libtest/sqlite_linux_arm64.go b/libtest/sqlite_linux_arm64.go index b29faff..511e463 100644 --- a/libtest/sqlite_linux_arm64.go +++ b/libtest/sqlite_linux_arm64.go @@ -106616,7 +106616,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -162515,7 +162514,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/libtest/sqlite_linux_s390x.go b/libtest/sqlite_linux_s390x.go index 1d27dec..0c1dde4 100644 --- a/libtest/sqlite_linux_s390x.go +++ b/libtest/sqlite_linux_s390x.go @@ -600,7 +600,7 @@ const ( F_ULOCK = 0 F_UNLCK = 2 F_WRLCK = 1 - GCC_VERSION = 7005000 + GCC_VERSION = 9003000 GEOPOLY_PI = 3.1415926535897932385 HASHSIZE = 97 HASHTABLE_HASH_1 = 383 @@ -3093,6 +3093,150 @@ const ( WsdStatInit = 0 ) +// These are the possible values for the FLAGS argument to `dladdr1'. +// This indicates what extra information is stored at *EXTRA_INFO. +// It may also be zero, in which case the EXTRA_INFO argument is not used. +const ( /* dlfcn.h:108:1: */ + // Matching symbol table entry (const ElfNN_Sym *). + RTLD_DL_SYMENT = 1 + + // The object containing the address (struct link_map *). + RTLD_DL_LINKMAP = 2 +) + +// These are the possible values for the REQUEST argument to `dlinfo'. +const ( /* dlfcn.h:128:1: */ + // Treat ARG as `lmid_t *'; store namespace ID for HANDLE there. + RTLD_DI_LMID = 1 + + // Treat ARG as `struct link_map **'; + // store the `struct link_map *' for HANDLE there. + RTLD_DI_LINKMAP = 2 + + RTLD_DI_CONFIGADDR = 3 // Unsupported, defined by Solaris. + + // Treat ARG as `Dl_serinfo *' (see below), and fill in to describe the + // directories that will be searched for dependencies of this object. + // RTLD_DI_SERINFOSIZE fills in just the `dls_cnt' and `dls_size' + // entries to indicate the size of the buffer that must be passed to + // RTLD_DI_SERINFO to fill in the full information. + RTLD_DI_SERINFO = 4 + RTLD_DI_SERINFOSIZE = 5 + + // Treat ARG as `char *', and store there the directory name used to + // expand $ORIGIN in this shared object's dependency file names. + RTLD_DI_ORIGIN = 6 + + RTLD_DI_PROFILENAME = 7 // Unsupported, defined by Solaris. + RTLD_DI_PROFILEOUT = 8 // Unsupported, defined by Solaris. + + // Treat ARG as `size_t *', and store there the TLS module ID + // of this object's PT_TLS segment, as used in TLS relocations; + // store zero if this object does not define a PT_TLS segment. + RTLD_DI_TLS_MODID = 9 + + // Treat ARG as `void **', and store there a pointer to the calling + // thread's TLS block corresponding to this object's PT_TLS segment. + // Store a null pointer if this object does not define a PT_TLS + // segment, or if the calling thread has not allocated a block for it. + RTLD_DI_TLS_DATA = 10 + + RTLD_DI_MAX = 10 +) + +// Define macros for the return values of ilogb and llogb, based on +// __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. +// +// FP_ILOGB0 Expands to a value returned by `ilogb (0.0)'. +// FP_ILOGBNAN Expands to a value returned by `ilogb (NAN)'. +// FP_LLOGB0 Expands to a value returned by `llogb (0.0)'. +// FP_LLOGBNAN Expands to a value returned by `llogb (NAN)'. +// + +// Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. +// Copyright (C) 2016-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if +// it is -INT_MAX. __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN +// is INT_MIN, and 0 if it is INT_MAX. + +// Get the architecture specific values describing the floating-point +// evaluation. The following symbols will get defined: +// +// FP_FAST_FMA +// FP_FAST_FMAF +// FP_FAST_FMAL +// If defined it indicates that the `fma' function +// generally executes about as fast as a multiply and an add. +// This macro is defined only iff the `fma' function is +// implemented directly with a hardware multiply-add instructions. + +// Define FP_FAST_* macros. +// Copyright (C) 2016-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} +// builtins are supported. + +// Rounding direction macros for fromfp functions. +const ( /* math.h:237:1: */ + FP_INT_UPWARD = 0 + FP_INT_DOWNWARD = 1 + FP_INT_TOWARDZERO = 2 + FP_INT_TONEARESTFROMZERO = 3 + FP_INT_TONEAREST = 4 +) + +// Depending on the type of TG_ARG, call an appropriately suffixed +// version of FUNC with arguments (including parentheses) ARGS. +// Suffixed functions may not exist for long double if it has the same +// format as double, or for other types with the same format as float, +// double or long double. The behavior is undefined if the argument +// does not have a real floating type. The definition may use a +// conditional expression, so all suffixed versions of FUNC must +// return the same type (FUNC may include a cast if necessary rather +// than being a single identifier). + +// ISO C99 defines some generic macros which work on any data type. + +// All floating-point numbers can be put in one of these categories. +const ( /* math.h:853:1: */ + FP_NAN = 0 + FP_INFINITE = 1 + FP_ZERO = 2 + FP_SUBNORMAL = 3 + FP_NORMAL = 4 +) + // Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; // the `_SC_*' symbols for the NAME argument to `sysconf'; // and the `_CS_*' symbols for the NAME argument to `confstr'. @@ -3501,68 +3645,11 @@ const ( /* fcntl-linux.h:265:1: */ F_OWNER_GID = 2 ) -// These are the possible values for the FLAGS argument to `dladdr1'. -// This indicates what extra information is stored at *EXTRA_INFO. -// It may also be zero, in which case the EXTRA_INFO argument is not used. -const ( /* dlfcn.h:108:1: */ - // Matching symbol table entry (const ElfNN_Sym *). - RTLD_DL_SYMENT = 1 +// A null pointer constant. - // The object containing the address (struct link_map *). - RTLD_DL_LINKMAP = 2 -) - -// These are the possible values for the REQUEST argument to `dlinfo'. -const ( /* dlfcn.h:128:1: */ - // Treat ARG as `lmid_t *'; store namespace ID for HANDLE there. - RTLD_DI_LMID = 1 - - // Treat ARG as `struct link_map **'; - // store the `struct link_map *' for HANDLE there. - RTLD_DI_LINKMAP = 2 - - RTLD_DI_CONFIGADDR = 3 // Unsupported, defined by Solaris. - - // Treat ARG as `Dl_serinfo *' (see below), and fill in to describe the - // directories that will be searched for dependencies of this object. - // RTLD_DI_SERINFOSIZE fills in just the `dls_cnt' and `dls_size' - // entries to indicate the size of the buffer that must be passed to - // RTLD_DI_SERINFO to fill in the full information. - RTLD_DI_SERINFO = 4 - RTLD_DI_SERINFOSIZE = 5 - - // Treat ARG as `char *', and store there the directory name used to - // expand $ORIGIN in this shared object's dependency file names. - RTLD_DI_ORIGIN = 6 - - RTLD_DI_PROFILENAME = 7 // Unsupported, defined by Solaris. - RTLD_DI_PROFILEOUT = 8 // Unsupported, defined by Solaris. - - // Treat ARG as `size_t *', and store there the TLS module ID - // of this object's PT_TLS segment, as used in TLS relocations; - // store zero if this object does not define a PT_TLS segment. - RTLD_DI_TLS_MODID = 9 - - // Treat ARG as `void **', and store there a pointer to the calling - // thread's TLS block corresponding to this object's PT_TLS segment. - // Store a null pointer if this object does not define a PT_TLS - // segment, or if the calling thread has not allocated a block for it. - RTLD_DI_TLS_DATA = 10 - - RTLD_DI_MAX = 10 -) - -// Define macros for the return values of ilogb and llogb, based on -// __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. -// -// FP_ILOGB0 Expands to a value returned by `ilogb (0.0)'. -// FP_ILOGBNAN Expands to a value returned by `ilogb (NAN)'. -// FP_LLOGB0 Expands to a value returned by `llogb (0.0)'. -// FP_LLOGBNAN Expands to a value returned by `llogb (NAN)'. -// - -// Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. -// Copyright (C) 2016-2020 Free Software Foundation, Inc. +// XPG requires a few symbols from being defined. +// Definitions of flag bits for `waitpid' et al. +// Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. // // The GNU C Library is free software; you can redistribute it and/or @@ -3579,70 +3666,19 @@ const ( /* dlfcn.h:128:1: */ // License along with the GNU C Library; if not, see // . -// __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if -// it is -INT_MAX. __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN -// is INT_MIN, and 0 if it is INT_MAX. +// Bits in the third argument to `waitpid'. -// Get the architecture specific values describing the floating-point -// evaluation. The following symbols will get defined: -// -// FP_FAST_FMA -// FP_FAST_FMAF -// FP_FAST_FMAL -// If defined it indicates that the `fma' function -// generally executes about as fast as a multiply and an add. -// This macro is defined only iff the `fma' function is -// implemented directly with a hardware multiply-add instructions. +// Bits in the fourth argument to `waitid'. -// Define FP_FAST_* macros. -// Copyright (C) 2016-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . +// The following values are used by the `waitid' function. -// The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} -// builtins are supported. +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. -// Rounding direction macros for fromfp functions. -const ( /* math.h:237:1: */ - FP_INT_UPWARD = 0 - FP_INT_DOWNWARD = 1 - FP_INT_TOWARDZERO = 2 - FP_INT_TONEARESTFROMZERO = 3 - FP_INT_TONEAREST = 4 -) - -// Depending on the type of TG_ARG, call an appropriately suffixed -// version of FUNC with arguments (including parentheses) ARGS. -// Suffixed functions may not exist for long double if it has the same -// format as double, or for other types with the same format as float, -// double or long double. The behavior is undefined if the argument -// does not have a real floating type. The definition may use a -// conditional expression, so all suffixed versions of FUNC must -// return the same type (FUNC may include a cast if necessary rather -// than being a single identifier). - -// ISO C99 defines some generic macros which work on any data type. - -// All floating-point numbers can be put in one of these categories. -const ( /* math.h:853:1: */ - FP_NAN = 0 - FP_INFINITE = 1 - FP_ZERO = 2 - FP_SUBNORMAL = 3 - FP_NORMAL = 4 +const ( /* waitflags.h:52:1: */ + P_ALL = 0 // Wait for any child. + P_PID = 1 // Wait for specified process. + P_PGID = 2 ) // Values for the first argument to `getitimer' and `setitimer'. @@ -3727,7 +3763,7 @@ type X__float128 = float64 /* :47:21 */ var sqlite3azCompileOpt = [28]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl - ts, /* "COMPILER=gcc-7.5..." */ + ts, /* "COMPILER=gcc-9.3..." */ ts + 19, /* "DEFAULT_MEMSTATU..." */ ts + 39, /* "DEFAULT_PAGE_SIZ..." */ ts + 62, /* "ENABLE_BYTECODE_..." */ @@ -3944,7 +3980,7 @@ func Xsqlite3CompileOptions(tls *libc.TLS, pnOpt uintptr) uintptr { /* sqlite3.c // The makefile makes some minor changes to this file (such as inserting // the version number) and changes its name to "sqlite3.h" as // part of the build process. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -4114,21 +4150,21 @@ type sqlite3 = struct { FmTrace U8 FnoSharedCache U8 FnSqlExec U8 - _ [3]byte + F__ccgo_pad1 [3]byte FnextPagesize int32 Fmagic U32 FnChange int32 FnTotalChange int32 FaLimit [12]int32 FnMaxSorterMmap int32 - _ [4]byte + F__ccgo_pad2 [4]byte Finit struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } FnVdbeActive int32 @@ -4159,9 +4195,9 @@ type sqlite3 = struct { FpCollNeededArg uintptr FpErr uintptr Fu1 struct { - _ [0]uint64 + F__ccgo_pad1 [0]uint64 FisInterrupted int32 - _ [4]byte + F__ccgo_pad2 [4]byte } Flookaside Lookaside FxAuth Sqlite3_xauth @@ -4454,7 +4490,7 @@ type sqlite3_file = struct{ FpMethods uintptr } /* sqlite3.c:1331:9 */ type Sqlite3_file = sqlite3_file /* sqlite3.c:1766:29 */ type sqlite3_io_methods = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxClose uintptr FxRead uintptr FxWrite uintptr @@ -5010,7 +5046,7 @@ type sqlite3_vfs = struct { FiVersion int32 FszOsFile int32 FmxPathname int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpNext uintptr FzName uintptr FpAppData uintptr @@ -5440,16 +5476,16 @@ type Sqlite3_value = sqlite3_value /* sqlite3.c:5368:30 */ // [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], // and/or [sqlite3_set_auxdata()]. type sqlite3_context = struct { - FpOut uintptr - FpFunc uintptr - FpMem uintptr - FpVdbe uintptr - FiOp int32 - FisError int32 - FskipFlag U8 - Fargc U8 - _ [6]byte - Fargv [1]uintptr + FpOut uintptr + FpFunc uintptr + FpMem uintptr + FpVdbe uintptr + FiOp int32 + FisError int32 + FskipFlag U8 + Fargc U8 + F__ccgo_pad1 [6]byte + Fargv [1]uintptr } /* sqlite3.c:1331:9 */ // CAPI3REF: SQL Function Context Object @@ -5487,10 +5523,10 @@ type Sqlite3_destructor_type = uintptr /* sqlite3.c:6747:14 */ // Structures used by the virtual table interface type sqlite3_vtab = struct { - FpModule uintptr - FnRef int32 - _ [4]byte - FzErrMsg uintptr + FpModule uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FzErrMsg uintptr } /* sqlite3.c:1331:9 */ // The interface to the virtual-table mechanism is currently considered @@ -5504,21 +5540,21 @@ type sqlite3_vtab = struct { type Sqlite3_vtab = sqlite3_vtab /* sqlite3.c:7866:29 */ type sqlite3_index_info = struct { FnConstraint int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaConstraint uintptr FnOrderBy int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaOrderBy uintptr FaConstraintUsage uintptr FidxNum int32 - _ [4]byte + F__ccgo_pad3 [4]byte FidxStr uintptr FneedToFreeIdxStr int32 ForderByConsumed int32 FestimatedCost float64 FestimatedRows Sqlite3_int64 FidxFlags int32 - _ [4]byte + F__ccgo_pad4 [4]byte FcolUsed Sqlite3_uint64 } /* sqlite3.c:7867:9 */ @@ -5528,7 +5564,7 @@ type sqlite3_vtab_cursor = struct{ FpVtab uintptr } /* sqlite3.c:7868:9 */ type Sqlite3_vtab_cursor = sqlite3_vtab_cursor /* sqlite3.c:7868:36 */ type sqlite3_module = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreate uintptr FxConnect uintptr FxBestIndex uintptr @@ -5660,7 +5696,7 @@ type sqlite3_index_constraint = struct { FiColumn int32 Fop uint8 Fusable uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FiTermOffset int32 } /* sqlite3.c:7867:9 */ @@ -5765,9 +5801,9 @@ type sqlite3_index_constraint = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_orderby = struct { - FiColumn int32 - Fdesc uint8 - _ [3]byte + FiColumn int32 + Fdesc uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Virtual Table Indexing Information @@ -5871,9 +5907,9 @@ type sqlite3_index_orderby = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_constraint_usage = struct { - FargvIndex int32 - Fomit uint8 - _ [3]byte + FargvIndex int32 + Fomit uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Mutex Methods Object @@ -6038,7 +6074,7 @@ type sqlite3_str = struct { FnChar U32 FaccError U8 FprintfFlags U8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.c:8964:9 */ // CAPI3REF: Dynamic String Object @@ -6238,20 +6274,20 @@ type Sqlite3_pcache_page = sqlite3_pcache_page /* sqlite3.c:9457:36 */ // is not obligated to free any memory, but well-behaved implementations should // do their best. type sqlite3_pcache_methods2 = struct { - FiVersion int32 - _ [4]byte - FpArg uintptr - FxInit uintptr - FxShutdown uintptr - FxCreate uintptr - FxCachesize uintptr - FxPagecount uintptr - FxFetch uintptr - FxUnpin uintptr - FxRekey uintptr - FxTruncate uintptr - FxDestroy uintptr - FxShrink uintptr + FiVersion int32 + F__ccgo_pad1 [4]byte + FpArg uintptr + FxInit uintptr + FxShutdown uintptr + FxCreate uintptr + FxCachesize uintptr + FxPagecount uintptr + FxFetch uintptr + FxUnpin uintptr + FxRekey uintptr + FxTruncate uintptr + FxDestroy uintptr + FxShrink uintptr } /* sqlite3.c:9622:9 */ // CAPI3REF: Application Defined Page Cache. @@ -6449,7 +6485,7 @@ type sqlite3_backup = struct { FiDestSchema U32 FbDestLocked int32 FiNext Pgno - _ [4]byte + F__ccgo_pad1 [4]byte FpSrcDb uintptr FpSrc uintptr Frc int32 @@ -6545,12 +6581,12 @@ type Sqlite3_snapshot = sqlite3_snapshot /* sqlite3.c:10714:3 */ // type sqlite3_rtree_geometry = struct { - FpContext uintptr - FnParam int32 - _ [4]byte - FaParam uintptr - FpUser uintptr - FxDelUser uintptr + FpContext uintptr + FnParam int32 + F__ccgo_pad1 [4]byte + FaParam uintptr + FpUser uintptr + FxDelUser uintptr } /* sqlite3.c:11039:9 */ // CAPI3REF: Flags for sqlite3_deserialize() @@ -6592,7 +6628,7 @@ type Sqlite3_rtree_geometry = sqlite3_rtree_geometry /* sqlite3.c:11039:39 */ type sqlite3_rtree_query_info = struct { FpContext uintptr FnParam int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaParam uintptr FpUser uintptr FxDelUser uintptr @@ -6601,7 +6637,7 @@ type sqlite3_rtree_query_info = struct { FnCoord int32 FiLevel int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiRowid Sqlite3_int64 FrParentScore Sqlite3_rtree_dbl FeParentWithin int32 @@ -6635,7 +6671,7 @@ type sqlite3_session = struct { FbIndirect int32 FbAutoAttach int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpFilterCtx uintptr FxTableFilter uintptr FnMalloc I64 @@ -6664,20 +6700,20 @@ type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ // An instance of this object acts as a cursor for iterating // over the elements of a [changeset] or [patchset]. type sqlite3_changeset_iter = struct { - Fin SessionInput - Ftblhdr SessionBuffer - FbPatchset int32 - FbInvert int32 - FbSkipEmpty int32 - Frc int32 - FpConflict uintptr - FzTab uintptr - FnCol int32 - Fop int32 - FbIndirect int32 - _ [4]byte - FabPK uintptr - FapValue uintptr + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + F__ccgo_pad1 [4]byte + FabPK uintptr + FapValue uintptr } /* sqlite3.c:11163:9 */ // CAPI3REF: Changeset Iterator Handle @@ -7138,7 +7174,7 @@ type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ type Fts5ExtensionApi1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxUserData uintptr FxColumnCount uintptr FxRowCount uintptr @@ -7221,7 +7257,7 @@ type Fts5_tokenizer = fts5_tokenizer /* sqlite3.c:13358:31 */ // FTS5 EXTENSION REGISTRATION API type fts5_api = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreateTokenizer uintptr FxFindTokenizer uintptr FxCreateFunction uintptr @@ -7345,9 +7381,9 @@ type HashElem = HashElem1 /* sqlite3.c:14071:25 */ // in the table, it is faster to do a linear search than to manage // the hash table. type _ht = struct { - Fcount uint32 - _ [4]byte - Fchain uintptr + Fcount uint32 + F__ccgo_pad1 [4]byte + Fchain uintptr } /* sqlite3.c:1331:9 */ // Wide character type. @@ -7358,14 +7394,9 @@ type _ht = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -7746,7 +7777,7 @@ type X__fpos64_t = _G_fpos64_t /* __fpos64_t.h:14:3 */ type _IO_FILE = struct { F_flags int32 - _ [4]byte + F__ccgo_pad1 [4]byte F_IO_read_ptr uintptr F_IO_read_end uintptr F_IO_read_base uintptr @@ -7766,7 +7797,7 @@ type _IO_FILE = struct { F_cur_column uint16 F_vtable_offset int8 F_shortbuf [1]uint8 - _ [4]byte + F__ccgo_pad2 [4]byte F_lock uintptr F_offset X__off64_t F_codecvt uintptr @@ -7811,11 +7842,6 @@ type Ssize_t = X__ssize_t /* stdio.h:77:19 */ type Fpos_t = X__fpos64_t /* stdio.h:86:20 */ type Fpos64_t = X__fpos64_t /* stdio.h:89:20 */ -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // XPG requires a few symbols from being defined. @@ -7841,6 +7867,12 @@ type Fpos64_t = X__fpos64_t /* stdio.h:89:20 */ // Bits in the fourth argument to `waitid'. +// The following values are used by the `waitid' function. + +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. + +type Idtype_t = uint32 /* waitflags.h:57:3 */ // Definitions of status bits for `wait' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. @@ -8320,7 +8352,7 @@ type Timer_t = X__timer_t /* timer_t.h:7:19 */ type Useconds_t = X__useconds_t /* types.h:134:22 */ type Suseconds_t = X__suseconds_t /* types.h:138:23 */ -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -8352,15 +8384,6 @@ type Suseconds_t = X__suseconds_t /* types.h:138:23 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -8395,11 +8418,6 @@ type Suseconds_t = X__suseconds_t /* types.h:138:23 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Old compatibility names for C types. @@ -8914,7 +8932,7 @@ type __pthread_rwlock_arch_t = struct { F__pad1 uint64 F__pad2 uint64 F__flags uint32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* struct_rwlock.h:23:1 */ // Common definition of pthread_cond_t. @@ -8936,15 +8954,15 @@ type Pthread_t = uint64 /* pthreadtypes.h:27:27 */ // Data structures for mutex handling. The structure of the attribute // type is not exposed on purpose. type Pthread_mutexattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:36:3 */ // Data structure for condition variable handling. The structure of // the attribute type is not exposed on purpose. type Pthread_condattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:45:3 */ // Keys for thread-specific data @@ -8954,8 +8972,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */ type pthread_attr_t = struct { - _ [0]uint64 - F__size [56]uint8 + F__ccgo_pad1 [0]uint64 + F__size [56]uint8 } /* pthreadtypes.h:56:1 */ type Pthread_attr_t = pthread_attr_t /* pthreadtypes.h:62:30 */ @@ -8969,8 +8987,8 @@ type Pthread_cond_t = struct{ F__data __pthread_cond_s } /* pthreadtypes.h:80:3 type Pthread_rwlock_t = struct{ F__data __pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ type Pthread_rwlockattr_t = struct { - _ [0]uint64 - F__size [8]uint8 + F__ccgo_pad1 [0]uint64 + F__size [8]uint8 } /* pthreadtypes.h:97:3 */ // POSIX spinlock data type. @@ -8979,13 +8997,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ // POSIX barriers data type. The structure of the type is // deliberately not exposed. type Pthread_barrier_t = struct { - _ [0]uint64 - F__size [32]uint8 + F__ccgo_pad1 [0]uint64 + F__size [32]uint8 } /* pthreadtypes.h:112:3 */ type Pthread_barrierattr_t = struct { - _ [0]uint32 - F__size [4]uint8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:118:3 */ // Reentrant versions of the `random' family of functions. @@ -8993,14 +9011,14 @@ type Pthread_barrierattr_t = struct { // state, rather than global state variables. type random_data = struct { - Ffptr uintptr - Frptr uintptr - Fstate uintptr - Frand_type int32 - Frand_deg int32 - Frand_sep int32 - _ [4]byte - Fend_ptr uintptr + Ffptr uintptr + Frptr uintptr + Fstate uintptr + Frand_type int32 + Frand_deg int32 + Frand_sep int32 + F__ccgo_pad1 [4]byte + Fend_ptr uintptr } /* stdlib.h:423:1 */ // Data structure for communication with thread safe versions. This @@ -9035,11 +9053,6 @@ type X__compar_d_fn_t = uintptr /* stdlib.h:815:13 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -9050,7 +9063,7 @@ type X__compar_d_fn_t = uintptr /* stdlib.h:815:13 */ type Max_align_t = struct { F__max_align_ll int64 F__max_align_ld float64 -} /* stddef.h:437:3 */ +} /* stddef.h:426:3 */ // Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. // This allows better measurements of where memcpy() is used when running @@ -9183,7 +9196,7 @@ type BusyHandler1 = struct { FxBusyHandler uintptr FpBusyArg uintptr FnBusy int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // An instance of the following structure is used to store the busy-handler @@ -9245,7 +9258,7 @@ type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ type AggInfo1 = struct { FdirectMode U8 FuseSortingIdx U8 - _ [2]byte + F__ccgo_pad1 [2]byte FsortingIdx int32 FsortingIdxPTab int32 FnSortingColumn int32 @@ -9323,59 +9336,59 @@ type AutoincInfo1 = struct { type AutoincInfo = AutoincInfo1 /* sqlite3.c:14886:28 */ type Bitvec1 = struct { - FiSize U32 - FnSet U32 - FiDivisor U32 - _ [4]byte - Fu struct { - _ [0]uint64 - FaBitmap [496]U8 + FiSize U32 + FnSet U32 + FiDivisor U32 + F__ccgo_pad1 [4]byte + Fu struct { + F__ccgo_pad1 [0]uint64 + FaBitmap [496]U8 } } /* sqlite3.c:1331:9 */ type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */ type CollSeq1 = struct { - FzName uintptr - Fenc U8 - _ [7]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte + FpUser uintptr + FxCmp uintptr + FxDel uintptr } /* sqlite3.c:1331:9 */ type CollSeq = CollSeq1 /* sqlite3.c:14888:24 */ type Column1 = struct { - FzName uintptr - FpDflt uintptr - FzColl uintptr - FnotNull U8 - Faffinity uint8 - FszEst U8 - FhName U8 - FcolFlags U16 - _ [2]byte + FzName uintptr + FpDflt uintptr + FzColl uintptr + FnotNull U8 + Faffinity uint8 + FszEst U8 + FhName U8 + FcolFlags U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:1331:9 */ type Column = Column1 /* sqlite3.c:14889:23 */ type Cte1 = struct { - FzName uintptr - FpCols uintptr - FpSelect uintptr - FzCteErr uintptr - FpUse uintptr - FeM10d U8 - _ [7]byte + FzName uintptr + FpCols uintptr + FpSelect uintptr + FzCteErr uintptr + FpUse uintptr + FeM10d U8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:1331:9 */ type Cte = Cte1 /* sqlite3.c:14890:20 */ type CteUse1 = struct { - FnUse int32 - FaddrM9e int32 - FregRtn int32 - FiCur int32 - FnRowEst LogEst - FeM10d U8 - _ [1]byte + FnUse int32 + FaddrM9e int32 + FregRtn int32 + FiCur int32 + FnRowEst LogEst + FeM10d U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:1331:9 */ type CteUse = CteUse1 /* sqlite3.c:14891:23 */ @@ -9384,20 +9397,20 @@ type Db1 = struct { FpBt uintptr Fsafety_level U8 FbSyncSet U8 - _ [6]byte + F__ccgo_pad1 [6]byte FpSchema uintptr } /* sqlite3.c:1331:9 */ type Db = Db1 /* sqlite3.c:14892:19 */ type DbFixer1 = struct { - FpParse uintptr - Fw Walker - FpSchema uintptr - FbTemp U8 - _ [7]byte - FzDb uintptr - FzType uintptr - FpName uintptr + FpParse uintptr + Fw Walker + FpSchema uintptr + FbTemp U8 + F__ccgo_pad1 [7]byte + FzDb uintptr + FzType uintptr + FpName uintptr } /* sqlite3.c:14893:9 */ type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ @@ -9420,7 +9433,7 @@ type Expr1 = struct { Fop U8 FaffExpr uint8 Fop2 U8 - _ [1]byte + F__ccgo_pad1 [1]byte Fflags U32 Fu struct{ FzToken uintptr } FpLeft uintptr @@ -9440,63 +9453,63 @@ type ExprList1 = struct { FnExpr int32 FnAlloc int32 Fa [1]struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol U16 FiAlias U16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } } /* sqlite3.c:1331:9 */ type ExprList = ExprList1 /* sqlite3.c:14896:25 */ type FKey1 = struct { - FpFrom uintptr - FpNextFrom uintptr - FzTo uintptr - FpNextTo uintptr - FpPrevTo uintptr - FnCol int32 - FisDeferred U8 - FaAction [2]U8 - _ [1]byte - FapTrigger [2]uintptr - FaCol [1]struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FpFrom uintptr + FpNextFrom uintptr + FzTo uintptr + FpNextTo uintptr + FpPrevTo uintptr + FnCol int32 + FisDeferred U8 + FaAction [2]U8 + F__ccgo_pad1 [1]byte + FapTrigger [2]uintptr + FaCol [1]struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } } /* sqlite3.c:1331:9 */ type FKey = FKey1 /* sqlite3.c:14897:21 */ type FuncDestructor1 = struct { - FnRef int32 - _ [4]byte - FxDestroy uintptr - FpUserData uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FxDestroy uintptr + FpUserData uintptr } /* sqlite3.c:14898:9 */ type FuncDestructor = FuncDestructor1 /* sqlite3.c:14898:31 */ type FuncDef1 = struct { - FnArg I8 - _ [3]byte - FfuncFlags U32 - FpUserData uintptr - FpNext uintptr - FxSFunc uintptr - FxFinalize uintptr - FxValue uintptr - FxInverse uintptr - FzName uintptr - Fu struct{ FpHash uintptr } + FnArg I8 + F__ccgo_pad1 [3]byte + FfuncFlags U32 + FpUserData uintptr + FpNext uintptr + FxSFunc uintptr + FxFinalize uintptr + FxValue uintptr + FxInverse uintptr + FzName uintptr + Fu struct{ FpHash uintptr } } /* sqlite3.c:1331:9 */ type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ @@ -9504,9 +9517,9 @@ type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqlite3.c:14900:9 */ type FuncDefHash = FuncDefHash1 /* sqlite3.c:14900:28 */ type IdList1 = struct { - Fa uintptr - FnId int32 - _ [4]byte + Fa uintptr + FnId int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type IdList = IdList1 /* sqlite3.c:14901:23 */ @@ -9527,59 +9540,59 @@ type Index1 = struct { FnKeyCol U16 FnColumn U16 FonError U8 - _ [1]byte + F__ccgo_pad1 [1]byte FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ - _ [2]byte + F__ccgo_pad2 [2]byte FnSample int32 FnSampleCol int32 FaAvgEq uintptr FaSample uintptr FaiRowEst uintptr FnRowEst0 TRowcnt - _ [4]byte + F__ccgo_pad3 [4]byte FcolNotIdxed Bitmask } /* sqlite3.c:1331:9 */ type Index = Index1 /* sqlite3.c:14902:22 */ type IndexSample1 = struct { - Fp uintptr - Fn int32 - _ [4]byte - FanEq uintptr - FanLt uintptr - FanDLt uintptr + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte + FanEq uintptr + FanLt uintptr + FanDLt uintptr } /* sqlite3.c:1331:9 */ type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */ type KeyInfo1 = struct { - FnRef U32 - Fenc U8 - _ [1]byte - FnKeyField U16 - FnAllField U16 - _ [6]byte - Fdb uintptr - FaSortFlags uintptr - FaColl [1]uintptr + FnRef U32 + Fenc U8 + F__ccgo_pad1 [1]byte + FnKeyField U16 + FnAllField U16 + F__ccgo_pad2 [6]byte + Fdb uintptr + FaSortFlags uintptr + FaColl [1]uintptr } /* sqlite3.c:1331:9 */ type KeyInfo = KeyInfo1 /* sqlite3.c:14905:24 */ type Lookaside1 = struct { - FbDisable U32 - Fsz U16 - FszTrue U16 - FbMalloced U8 - _ [3]byte - FnSlot U32 - FanStat [3]U32 - _ [4]byte - FpInit uintptr - FpFree uintptr - FpSmallInit uintptr - FpSmallFree uintptr - FpMiddle uintptr - FpStart uintptr - FpEnd uintptr + FbDisable U32 + Fsz U16 + FszTrue U16 + FbMalloced U8 + F__ccgo_pad1 [3]byte + FnSlot U32 + FanStat [3]U32 + F__ccgo_pad2 [4]byte + FpInit uintptr + FpFree uintptr + FpSmallInit uintptr + FpSmallFree uintptr + FpMiddle uintptr + FpStart uintptr + FpEnd uintptr } /* sqlite3.c:1331:9 */ type Lookaside = Lookaside1 /* sqlite3.c:14906:26 */ @@ -9587,26 +9600,26 @@ type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.c:1331:9 */ type LookasideSlot = LookasideSlot1 /* sqlite3.c:14907:30 */ type Module1 = struct { - FpModule uintptr - FzName uintptr - FnRefModule int32 - _ [4]byte - FpAux uintptr - FxDestroy uintptr - FpEpoTab uintptr + FpModule uintptr + FzName uintptr + FnRefModule int32 + F__ccgo_pad1 [4]byte + FpAux uintptr + FxDestroy uintptr + FpEpoTab uintptr } /* sqlite3.c:1331:9 */ type Module = Module1 /* sqlite3.c:14908:23 */ type NameContext1 = struct { - FpParse uintptr - FpSrcList uintptr - FuNC struct{ FpEList uintptr } - FpNext uintptr - FnRef int32 - FnNcErr int32 - FncFlags int32 - _ [4]byte - FpWinSelect uintptr + FpParse uintptr + FpSrcList uintptr + FuNC struct{ FpEList uintptr } + FpNext uintptr + FnRef int32 + FnNcErr int32 + FncFlags int32 + F__ccgo_pad1 [4]byte + FpWinSelect uintptr } /* sqlite3.c:14909:9 */ type NameContext = NameContext1 /* sqlite3.c:14909:28 */ @@ -9625,7 +9638,7 @@ type Parse1 = struct { FokConstFactor U8 FdisableLookaside U8 FdisableVtab U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -9635,7 +9648,7 @@ type Parse1 = struct { FiSelfTab int32 FnLabel int32 FnLabelAlloc int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaLabel uintptr FpConstExpr uintptr FconstraintName Token @@ -9646,16 +9659,16 @@ type Parse1 = struct { FnMaxArg int32 FnSelect int32 FnTableLock int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaTableLock uintptr FpAinc uintptr FpToplevel uintptr FpTriggerTab uintptr FpParentParse uintptr Fu1 struct { - _ [0]uint64 - FaddrCrTab int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + FaddrCrTab int32 + F__ccgo_pad2 [4]byte } FnQueryLoop U32 Foldmask U32 @@ -9671,11 +9684,11 @@ type Parse1 = struct { FiPkSortOrder U8 Fexplain U8 FeParseMode U8 - _ [3]byte + F__ccgo_pad4 [3]byte FnVtabLock int32 FnHeight int32 FaddrExplain int32 - _ [4]byte + F__ccgo_pad5 [4]byte FpVList uintptr FpReprepare uintptr FzTail uintptr @@ -9703,7 +9716,7 @@ type PreUpdate1 = struct { Fv uintptr FpCsr uintptr Fop int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaRecord uintptr Fkeyinfo KeyInfo FpUnpacked uintptr @@ -9733,14 +9746,14 @@ type RenameToken1 = struct { type RenameToken = RenameToken1 /* sqlite3.c:14914:28 */ type Returning1 = struct { - FpParse uintptr - FpReturnEL uintptr - FretTrig Trigger - FretTStep TriggerStep - FiRetCur int32 - FnRetCol int32 - FiRetReg int32 - _ [4]byte + FpParse uintptr + FpReturnEL uintptr + FretTrig Trigger + FretTStep TriggerStep + FiRetCur int32 + FnRetCol int32 + FiRetReg int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:14915:9 */ type Returning = Returning1 /* sqlite3.c:14915:26 */ @@ -9767,14 +9780,14 @@ type Savepoint1 = struct { type Savepoint = Savepoint1 /* sqlite3.c:14917:26 */ type Select1 = struct { Fop U8 - _ [1]byte + F__ccgo_pad1 [1]byte FnSelectRow LogEst FselFlags U32 FiLimit int32 FiOffset int32 FselId U32 FaddrOpenEphm [2]int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpEList uintptr FpSrc uintptr FpWhere uintptr @@ -9798,15 +9811,15 @@ type SQLiteThread1 = struct { type SQLiteThread = SQLiteThread1 /* sqlite3.c:14919:29 */ type SelectDest1 = struct { - FeDest U8 - _ [3]byte - FiSDParm int32 - FiSDParm2 int32 - FiSdst int32 - FnSdst int32 - _ [4]byte - FzAffSdst uintptr - FpOrderBy uintptr + FeDest U8 + F__ccgo_pad1 [3]byte + FiSDParm int32 + FiSDParm2 int32 + FiSdst int32 + FnSdst int32 + F__ccgo_pad2 [4]byte + FzAffSdst uintptr + FpOrderBy uintptr } /* sqlite3.c:14920:9 */ type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */ @@ -9821,11 +9834,11 @@ type SrcItem1 = struct { FregReturn int32 FregResult int32 Ffg struct { - _ [0]uint32 - Fjointype U8 - _ [3]byte - FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ - _ [2]byte + F__ccgo_pad1 [0]uint32 + Fjointype U8 + F__ccgo_pad2 [3]byte + FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ + F__ccgo_pad3 [2]byte } FiCursor int32 FpOn uintptr @@ -9861,7 +9874,7 @@ type Table1 = struct { FnRowLogEst LogEst FszTabRow LogEst FkeyConf U8 - _ [1]byte + F__ccgo_pad1 [1]byte FaddColOffset int32 FnModuleArg int32 FazModuleArg uintptr @@ -9876,72 +9889,72 @@ type TableLock1 = struct { FiDb int32 FiTab Pgno FisWriteLock U8 - _ [7]byte + F__ccgo_pad1 [7]byte FzLockName uintptr } /* sqlite3.c:1331:9 */ type TableLock = TableLock1 /* sqlite3.c:14925:26 */ type Token1 = struct { - Fz uintptr - Fn uint32 - _ [4]byte + Fz uintptr + Fn uint32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type Token = Token1 /* sqlite3.c:14926:22 */ type Trigger1 = struct { - FzName uintptr - Ftable uintptr - Fop U8 - Ftr_tm U8 - FbReturning U8 - _ [5]byte - FpWhen uintptr - FpColumns uintptr - FpSchema uintptr - FpTabSchema uintptr - Fstep_list uintptr - FpNext uintptr + FzName uintptr + Ftable uintptr + Fop U8 + Ftr_tm U8 + FbReturning U8 + F__ccgo_pad1 [5]byte + FpWhen uintptr + FpColumns uintptr + FpSchema uintptr + FpTabSchema uintptr + Fstep_list uintptr + FpNext uintptr } /* sqlite3.c:1331:9 */ type Trigger = Trigger1 /* sqlite3.c:14928:24 */ type TriggerPrg1 = struct { - FpTrigger uintptr - FpNext uintptr - FpProgram uintptr - Forconf int32 - FaColmask [2]U32 - _ [4]byte + FpTrigger uintptr + FpNext uintptr + FpProgram uintptr + Forconf int32 + FaColmask [2]U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */ type TriggerStep1 = struct { - Fop U8 - Forconf U8 - _ [6]byte - FpTrig uintptr - FpSelect uintptr - FzTarget uintptr - FpFrom uintptr - FpWhere uintptr - FpExprList uintptr - FpIdList uintptr - FpUpsert uintptr - FzSpan uintptr - FpNext uintptr - FpLast uintptr + Fop U8 + Forconf U8 + F__ccgo_pad1 [6]byte + FpTrig uintptr + FpSelect uintptr + FzTarget uintptr + FpFrom uintptr + FpWhere uintptr + FpExprList uintptr + FpIdList uintptr + FpUpsert uintptr + FzSpan uintptr + FpNext uintptr + FpLast uintptr } /* sqlite3.c:1331:9 */ type TriggerStep = TriggerStep1 /* sqlite3.c:14930:28 */ type UnpackedRecord1 = struct { - FpKeyInfo uintptr - FaMem uintptr - FnField U16 - Fdefault_rc I8 - FerrCode U8 - Fr1 I8 - Fr2 I8 - FeqSeen U8 - _ [1]byte + FpKeyInfo uintptr + FaMem uintptr + FnField U16 + Fdefault_rc I8 + FerrCode U8 + Fr1 I8 + Fr2 I8 + FeqSeen U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:1331:9 */ type UnpackedRecord = UnpackedRecord1 /* sqlite3.c:14931:31 */ @@ -9952,14 +9965,14 @@ type Upsert1 = struct { FpUpsertWhere uintptr FpNextUpsert uintptr FisDoUpdate U8 - _ [7]byte + F__ccgo_pad1 [7]byte FpToFree uintptr FpUpsertIdx uintptr FpUpsertSrc uintptr FregData int32 FiDataCur int32 FiIdxCur int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:1331:9 */ type Upsert = Upsert1 /* sqlite3.c:14932:23 */ @@ -9970,19 +9983,19 @@ type VTable1 = struct { FnRef int32 FbConstraint U8 FeVtabRisk U8 - _ [2]byte + F__ccgo_pad1 [2]byte FiSavepoint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpNext uintptr } /* sqlite3.c:1331:9 */ type VTable = VTable1 /* sqlite3.c:14933:23 */ type VtabCtx1 = struct { - FpVTable uintptr - FpTab uintptr - FpPrior uintptr - FbDeclared int32 - _ [4]byte + FpVTable uintptr + FpTab uintptr + FpPrior uintptr + FbDeclared int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type VtabCtx = VtabCtx1 /* sqlite3.c:14934:24 */ @@ -9993,7 +10006,7 @@ type Walker1 = struct { FxSelectCallback2 uintptr FwalkerDepth int32 FeCode U16 - _ [2]byte + F__ccgo_pad1 [2]byte Fu struct{ FpNC uintptr } } /* sqlite3.c:14893:9 */ @@ -10015,7 +10028,7 @@ type WhereInfo1 = struct { FeOnePass U8 FeDistinct U8 FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ - _ [1]byte + F__ccgo_pad1 [1]byte FnRowOut LogEst FiTop int32 FiEndWhere int32 @@ -10038,7 +10051,7 @@ type Window1 = struct { FeEnd U8 FbImplicitFrame U8 FeExclude U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpStart uintptr FpEnd uintptr FppThis uintptr @@ -10058,7 +10071,7 @@ type Window1 = struct { FregStartRowid int32 FregEndRowid int32 FbExprArgs U8 - _ [3]byte + F__ccgo_pad2 [3]byte } /* sqlite3.c:1331:9 */ type Window = Window1 /* sqlite3.c:14937:23 */ @@ -10147,7 +10160,7 @@ type Pager1 = struct { FnRec int32 FcksumInit U32 FnSubRec U32 - _ [4]byte + F__ccgo_pad1 [4]byte FpInJournal uintptr Ffd uintptr Fjfd uintptr @@ -10160,7 +10173,7 @@ type Pager1 = struct { FiDataVersion U32 FdbFileVers [16]uint8 FnMmapOut int32 - _ [4]byte + F__ccgo_pad2 [4]byte FszMmap Sqlite3_int64 FpMmapFreelist uintptr FnExtra U16 @@ -10169,7 +10182,7 @@ type Pager1 = struct { FsectorSize U32 FpageSize int32 FmxPgno Pgno - _ [4]byte + F__ccgo_pad3 [4]byte FjournalSizeLimit I64 FzFilename uintptr FzJournal uintptr @@ -10177,7 +10190,7 @@ type Pager1 = struct { FpBusyHandlerArg uintptr FaStat [4]int32 FnRead int32 - _ [4]byte + F__ccgo_pad4 [4]byte FxReiniter uintptr FxGet uintptr FpTmpSpace uintptr @@ -10291,7 +10304,7 @@ type BtCursor1 = struct { FcurIntKey U8 Fix U16 FaiIdx [19]U16 - _ [2]byte + F__ccgo_pad1 [2]byte FpKeyInfo uintptr FpPage uintptr FapPage [19]uintptr @@ -10310,43 +10323,43 @@ type BtShared1 = struct { FinTransaction U8 Fmax1bytePayload U8 FnReserveWanted U8 - _ [1]byte + F__ccgo_pad1 [1]byte FbtsFlags U16 FmaxLocal U16 FminLocal U16 FmaxLeaf U16 FminLeaf U16 - _ [2]byte + F__ccgo_pad2 [2]byte FpageSize U32 FusableSize U32 FnTransaction int32 FnPage U32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSchema uintptr FxFreeSchema uintptr Fmutex uintptr FpHasContent uintptr FnRef int32 - _ [4]byte + F__ccgo_pad4 [4]byte FpNext uintptr FpLock uintptr FpWriter uintptr FpTmpSpace uintptr FnPreformatSize int32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* sqlite3.c:1331:9 */ type BtShared = BtShared1 /* sqlite3.c:15269:25 */ type BtreePayload1 = struct { - FpKey uintptr - FnKey Sqlite3_int64 - FpData uintptr - FaMem uintptr - FnMem U16 - _ [2]byte - FnData int32 - FnZero int32 - _ [4]byte + FpKey uintptr + FnKey Sqlite3_int64 + FpData uintptr + FaMem uintptr + FnMem U16 + F__ccgo_pad1 [2]byte + FnData int32 + FnZero int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:15270:9 */ type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */ @@ -10381,7 +10394,7 @@ type Vdbe1 = struct { FpNext uintptr FpParse uintptr FnVar YnVar - _ [2]byte + F__ccgo_pad1 [2]byte FiVdbeMagic U32 FnMem int32 FnCursor int32 @@ -10390,7 +10403,7 @@ type Vdbe1 = struct { Frc int32 FnChange int32 FiStatement int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiCurrentTime I64 FnFkConstraint I64 FnStmtDefCons I64 @@ -10412,9 +10425,9 @@ type Vdbe1 = struct { FminWriteFileFormat U8 FprepFlags U8 FdoingRerun U8 - _ [2]byte + F__ccgo_pad3 [2]byte Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ - _ [2]byte + F__ccgo_pad4 [2]byte FbtreeMask YDbMask FlockMask YDbMask FaCounter [7]U32 @@ -10458,14 +10471,14 @@ type Vdbe = Vdbe1 /* sqlite3.c:15668:21 */ // for the VdbeOp definition. type Mem = sqlite3_value /* sqlite3.c:15674:30 */ type SubProgram1 = struct { - FaOp uintptr - FnOp int32 - FnMem int32 - FnCsr int32 - _ [4]byte - FaOnce uintptr - Ftoken uintptr - FpNext uintptr + FaOp uintptr + FnOp int32 + FnMem int32 + FnCsr int32 + F__ccgo_pad1 [4]byte + FaOnce uintptr + Ftoken uintptr + FpNext uintptr } /* sqlite3.c:1331:9 */ type SubProgram = SubProgram1 /* sqlite3.c:15675:27 */ @@ -10481,9 +10494,9 @@ type VdbeOp1 = struct { Fp2 int32 Fp3 int32 Fp4 struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } FzComment uintptr } /* sqlite3.c:1331:9 */ @@ -10492,9 +10505,9 @@ type VdbeOp1 = struct { // and as many as three operands. The instruction is recorded // as an instance of the following structure: type p4union = struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:1331:9 */ type VdbeOp = VdbeOp1 /* sqlite3.c:15721:23 */ @@ -10570,20 +10583,20 @@ type RecordCompare = uintptr /* sqlite3.c:16156:13 */ type PgHdr = PgHdr2 /* sqlite3.c:16289:22 */ type PCache2 = struct { - FpDirty uintptr - FpDirtyTail uintptr - FpSynced uintptr - FnRefSum int32 - FszCache int32 - FszSpill int32 - FszPage int32 - FszExtra int32 - FbPurgeable U8 - FeCreate U8 - _ [2]byte - FxStress uintptr - FpStress uintptr - FpCache uintptr + FpDirty uintptr + FpDirtyTail uintptr + FpSynced uintptr + FnRefSum int32 + FszCache int32 + FszSpill int32 + FszPage int32 + FszExtra int32 + FbPurgeable U8 + FeCreate U8 + F__ccgo_pad1 [2]byte + FxStress uintptr + FpStress uintptr + FpCache uintptr } /* sqlite3.c:1331:9 */ type PCache = PCache2 /* sqlite3.c:16290:23 */ @@ -10602,9 +10615,9 @@ type sqlite3InitInfo = struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } /* sqlite3.c:1331:9 */ @@ -10660,9 +10673,9 @@ type sqlite3InitInfo = struct { // A list of all children for a table named Z (which might not even exist) // is held in Schema.fkeyHash with a hash key of Z. type sColMap = struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } /* sqlite3.c:1331:9 */ // An instance of this structure contains information needed to generate @@ -10683,7 +10696,7 @@ type AggInfo_col = struct { FiMem int32 FiColumn I16 FiSorterColumn I16 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // An instance of this structure contains information needed to generate @@ -10698,12 +10711,12 @@ type AggInfo_col = struct { // original Select structure that describes the SELECT statement. These // fields do not need to be freed when deallocating the AggInfo structure. type AggInfo_func = struct { - FpFExpr uintptr - FpFunc uintptr - FiMem int32 - FiDistinct int32 - FiDistAddr int32 - _ [4]byte + FpFExpr uintptr + FpFunc uintptr + FiMem int32 + FiDistinct int32 + FiDistAddr int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // The datatype ynVar is a signed integer, either 16-bit or 32-bit. @@ -10767,20 +10780,20 @@ type YnVar = I16 /* sqlite3.c:18212:13 */ // ENAME_SPAN Text of the original result set // expression. type ExprList_item = struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol U16 FiAlias U16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:1331:9 */ // Allowed values for Expr.a.eEName @@ -10799,9 +10812,9 @@ type ExprList_item = struct { // // If "a" is the k-th column of table "t", then IdList.a[0].idx==k. type IdList_item = struct { - FzName uintptr - Fidx int32 - _ [4]byte + FzName uintptr + Fidx int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // The yDbMask datatype for the bitmask of all attached databases. @@ -10810,14 +10823,14 @@ type YDbMask = uint32 /* sqlite3.c:18969:24 */ // A pointer to this structure is used to communicate information // from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. type InitData = struct { - Fdb uintptr - FpzErrMsg uintptr - FiDb int32 - Frc int32 - FmInitFlags U32 - FnInitRow U32 - FmxPage Pgno - _ [4]byte + Fdb uintptr + FpzErrMsg uintptr + FiDb int32 + Frc int32 + FmInitFlags U32 + FnInitRow U32 + FmxPage Pgno + F__ccgo_pad1 [4]byte } /* sqlite3.c:19327:3 */ // Allowed values for mInitFlags @@ -10842,7 +10855,7 @@ type Sqlite3Config = struct { FbUseCis U8 FbSmallMalloc U8 FbExtraSchemaChecks U8 - _ [2]byte + F__ccgo_pad1 [2]byte FmxStrlen int32 FneverCorrupt int32 FszLookaside int32 @@ -10855,7 +10868,7 @@ type Sqlite3Config = struct { FnHeap int32 FmnReq int32 FmxReq int32 - _ [4]byte + F__ccgo_pad2 [4]byte FszMmap Sqlite3_int64 FmxMmap Sqlite3_int64 FpPage uintptr @@ -10870,7 +10883,7 @@ type Sqlite3Config = struct { FisMallocInit int32 FisPCacheInit int32 FnRefInitMutex int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpInitMutex uintptr FxLog uintptr FpLogArg uintptr @@ -10899,11 +10912,11 @@ type Sqlite3Config = struct { // Context pointer passed down through the tree-walk. type SrcCount = struct { - FpSrc uintptr - FiSrcInner int32 - FnThis int32 - FnOther int32 - _ [4]byte + FpSrc uintptr + FiSrcInner int32 + FnThis int32 + FnOther int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:19454:5 */ // This macro is used inside of assert() statements to indicate that @@ -10923,9 +10936,9 @@ type SrcCount = struct { // Context pointer passed down through the tree-walk. type IdxCover = struct { - FpIdx uintptr - FiCur int32 - _ [4]byte + FpIdx uintptr + FiCur int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:19457:5 */ // This macro is used inside of assert() statements to indicate that @@ -11000,7 +11013,7 @@ type WhereConst1 = struct { FnConst int32 FnChng int32 FbHasAffBlob int32 - _ [4]byte + F__ccgo_pad1 [4]byte FapExpr uintptr } /* sqlite3.c:19462:5 */ @@ -11322,7 +11335,7 @@ type VdbeSorter1 = struct { FiPrev U8 FnTask U8 FtypeMask U8 - _ [3]byte + F__ccgo_pad1 [3]byte FaTask [1]SortSubtask } /* sqlite3.c:21218:9 */ @@ -11357,11 +11370,11 @@ type VdbeCursor1 = struct { FnullRow U8 FdeferredMoveto U8 FisTable U8 - _ [3]byte + F__ccgo_pad1 [3]byte FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ - _ [1]byte + F__ccgo_pad2 [1]byte FseekHit U16 - _ [4]byte + F__ccgo_pad3 [4]byte FpBtx uintptr FseqCount I64 FaAltMap uintptr @@ -11374,14 +11387,14 @@ type VdbeCursor1 = struct { FpgnoRoot Pgno FnField I16 FnHdrParsed U16 - _ [4]byte + F__ccgo_pad4 [4]byte FmovetoTarget I64 FaOffset uintptr FaRow uintptr FpayloadSize U32 FszRow U32 FaType [1]U32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* sqlite3.c:1331:9 */ // Types of VDBE cursors @@ -11483,7 +11496,7 @@ type ScanStatus1 = struct { FaddrVisit int32 FiSelectID int32 FnEst LogEst - _ [6]byte + F__ccgo_pad1 [6]byte FzName uintptr } /* sqlite3.c:21514:9 */ @@ -11742,7 +11755,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p if pSchema != uintptr(0) { var p uintptr - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fcount) + (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fcount) + (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fcount))) @@ -11924,7 +11937,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -11956,15 +11969,6 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -12001,11 +12005,6 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -12113,43 +12112,43 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // These definitions from linux/timex.h as of 3.18. type timex = struct { - Fmodes uint32 - _ [4]byte - Foffset X__syscall_slong_t - Ffreq X__syscall_slong_t - Fmaxerror X__syscall_slong_t - Festerror X__syscall_slong_t - Fstatus int32 - _ [4]byte - Fconstant X__syscall_slong_t - Fprecision X__syscall_slong_t - Ftolerance X__syscall_slong_t - Ftime struct { + Fmodes uint32 + F__ccgo_pad1 [4]byte + Foffset X__syscall_slong_t + Ffreq X__syscall_slong_t + Fmaxerror X__syscall_slong_t + Festerror X__syscall_slong_t + Fstatus int32 + F__ccgo_pad2 [4]byte + Fconstant X__syscall_slong_t + Fprecision X__syscall_slong_t + Ftolerance X__syscall_slong_t + Ftime struct { Ftv_sec X__time_t Ftv_usec X__suseconds_t } - Ftick X__syscall_slong_t - Fppsfreq X__syscall_slong_t - Fjitter X__syscall_slong_t - Fshift int32 - _ [4]byte - Fstabil X__syscall_slong_t - Fjitcnt X__syscall_slong_t - Fcalcnt X__syscall_slong_t - Ferrcnt X__syscall_slong_t - Fstbcnt X__syscall_slong_t - Ftai int32 - __164 uint32 /* int : 32 */ - __168 uint32 /* int : 32 */ - __172 uint32 /* int : 32 */ - __176 uint32 /* int : 32 */ - __180 uint32 /* int : 32 */ - __184 uint32 /* int : 32 */ - __188 uint32 /* int : 32 */ - __192 uint32 /* int : 32 */ - __196 uint32 /* int : 32 */ - __200 uint32 /* int : 32 */ - __204 uint32 /* int : 32 */ + Ftick X__syscall_slong_t + Fppsfreq X__syscall_slong_t + Fjitter X__syscall_slong_t + Fshift int32 + F__ccgo_pad3 [4]byte + Fstabil X__syscall_slong_t + Fjitcnt X__syscall_slong_t + Fcalcnt X__syscall_slong_t + Ferrcnt X__syscall_slong_t + Fstbcnt X__syscall_slong_t + Ftai int32 + __164 uint32 /* int : 32 */ + __168 uint32 /* int : 32 */ + __172 uint32 /* int : 32 */ + __176 uint32 /* int : 32 */ + __180 uint32 /* int : 32 */ + __184 uint32 /* int : 32 */ + __188 uint32 /* int : 32 */ + __192 uint32 /* int : 32 */ + __196 uint32 /* int : 32 */ + __200 uint32 /* int : 32 */ + __204 uint32 /* int : 32 */ } /* timex.h:26:1 */ // Many of the typedefs and structs whose official home is this header @@ -12177,18 +12176,18 @@ type timex = struct { // ISO C `broken-down time' structure. type tm = struct { - Ftm_sec int32 - Ftm_min int32 - Ftm_hour int32 - Ftm_mday int32 - Ftm_mon int32 - Ftm_year int32 - Ftm_wday int32 - Ftm_yday int32 - Ftm_isdst int32 - _ [4]byte - Ftm_gmtoff int64 - Ftm_zone uintptr + Ftm_sec int32 + Ftm_min int32 + Ftm_hour int32 + Ftm_mday int32 + Ftm_mon int32 + Ftm_year int32 + Ftm_wday int32 + Ftm_yday int32 + Ftm_isdst int32 + F__ccgo_pad1 [4]byte + Ftm_gmtoff int64 + Ftm_zone uintptr } /* struct_tm.h:7:1 */ // NB: Include guard matches what uses. @@ -12233,22 +12232,22 @@ type itimerspec = struct { // A structure for holding a single date and time. type DateTime1 = struct { - FiJD Sqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - _ [1]byte + FiJD Sqlite3_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 + F__ccgo_pad1 [1]byte } /* sqlite3.c:22238:9 */ // The MSVC CRT on Windows CE may not have a localtime() function. @@ -12525,10 +12524,10 @@ func computeJD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22423:13: */ B = ((2 - A) + (A / 4)) X1 = ((36525 * (Y + 4716)) / 100) X2 = ((306001 * (M + 1)) / 10000) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*DateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (libc.Int64FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) if (*DateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) -= (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Ftz * 60000)) (*DateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -12618,7 +12617,7 @@ func setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { /* sqlite3.c:22526: (*DateTime)(unsafe.Pointer(p)).Fs = r (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(1) if (r >= 0.0) && (r < 5373484.5) { - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64((r * 86400000.0) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64((r * 86400000.0) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) } } @@ -12691,13 +12690,13 @@ func computeYMD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22591:13: */ return } else { Z = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) / int64(86400000))) - A = (int32((float64(Z) - 1867216.25) / 36524.25)) + A = (libc.Int32FromFloat64((float64(Z) - 1867216.25) / 36524.25)) A = (((Z + 1) + A) - (A / 4)) B = (A + 1524) - C = (int32((float64(B) - 122.1) / 365.25)) + C = (libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)) D = ((36525 * (C & 32767)) / 100) - E = (int32((float64(B - D)) / 30.6001)) - X1 = (int32(30.6001 * float64(E))) + E = (libc.Int32FromFloat64((float64(B - D)) / 30.6001)) + X1 = (libc.Int32FromFloat64(30.6001 * float64(E))) (*DateTime)(unsafe.Pointer(p)).FD = ((B - D) - X1) (*DateTime)(unsafe.Pointer(p)).FM = func() int32 { if E < 14 { @@ -12724,7 +12723,7 @@ func computeHMS(tls *libc.TLS, p uintptr) { /* sqlite3.c:22620:13: */ computeJD(tls, p) s = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) % int64(86400000))) (*DateTime)(unsafe.Pointer(p)).Fs = (float64(s) / 1000.0) - s = int32((*DateTime)(unsafe.Pointer(p)).Fs) + s = libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs) *(*float64)(unsafe.Pointer(p + 32 /* &.s */)) -= (float64(s)) (*DateTime)(unsafe.Pointer(p)).Fh = (s / 3600) s = s - ((*DateTime)(unsafe.Pointer(p)).Fh * 3600) @@ -12821,7 +12820,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fm = 0 (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = 0.0 } else { - var s int32 = (int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) + var s int32 = (libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = float64(s) } (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Ftz = 0 @@ -12857,12 +12856,12 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite // Where NNN is an arbitrary floating-point number and "days" can be one // of several units of time. var aXformType = [6]struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{ {FnName: U8(6), FzName: ts + 544 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, {FnName: U8(6), FzName: ts + 551 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, @@ -12926,7 +12925,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 @@ -13091,12 +13090,12 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i rRounder = +0.5 } for i = 0; i < (int32(uint64(unsafe.Sizeof(aXformType)) / uint64(unsafe.Sizeof(struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{})))); i++ { if (((int32(aXformType[i].FnName) == n) && (Xsqlite3_strnicmp(tls, aXformType[i].FzName, z, n) == 0)) && @@ -13132,7 +13131,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i } } computeJD(tls, p) - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (Sqlite3_int64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (libc.Int64FromFloat64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 break } @@ -13224,7 +13223,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* computeYMD_HMS(tls, bp+48 /* &x */) Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+96 /* &zBuf[0] */, ts+621, /* "%04d-%02d-%02d %..." */ - libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) + libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13242,7 +13241,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]uint8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13460,7 +13459,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+64, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -13600,7 +13599,9 @@ var Xsqlite3_memdebug_vfs_oom_test int32 = 1 /* sqlite3.c:23490:16 */ // C++ instead of plain old C. func Xsqlite3OsClose(tls *libc.TLS, pId uintptr) { /* sqlite3.c:23507:21: */ if (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods + 8 /* &.xClose */))))(tls, pId) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})).f(tls, pId) (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0) } } @@ -13614,7 +13615,9 @@ func Xsqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 16 /* &.xRead */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23517:20: */ @@ -13626,11 +13629,15 @@ func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 24 /* &.xWrite */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsTruncate(tls *libc.TLS, id uintptr, size I64) int32 { /* sqlite3.c:23521:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 32 /* &.xTruncate */))))(tls, id, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})).f(tls, id, size) } func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:23524:20: */ @@ -13643,7 +13650,9 @@ func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c } if flags != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 40 /* &.xSync */))))(tls, id, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})).f(tls, id, flags) } return SQLITE_OK } @@ -13657,7 +13666,9 @@ func Xsqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sql Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 48 /* &.xFileSize */))))(tls, id, pSize) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})).f(tls, id, pSize) } func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23532:20: */ @@ -13669,11 +13680,15 @@ func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 56 /* &.xLock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})).f(tls, id, lockType) } func Xsqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23536:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 64 /* &.xUnlock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})).f(tls, id, lockType) } func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:23539:20: */ @@ -13685,7 +13700,9 @@ func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, id, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})).f(tls, id, pResOut) } // Use sqlite3OsFileControl() when we are doing something that might fail @@ -13725,12 +13742,16 @@ func Xsqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) in } } - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } func Xsqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) { /* sqlite3.c:23580:21: */ if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } } @@ -13738,26 +13759,34 @@ func Xsqlite3OsSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23584: var xSectorSize uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize return func() int32 { if xSectorSize != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xSectorSize)))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSectorSize})).f(tls, id) } return SQLITE_DEFAULT_SECTOR_SIZE }() } func Xsqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23588:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})).f(tls, id) } func Xsqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) int32 { /* sqlite3.c:23592:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 112 /* &.xShmLock */))))(tls, id, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})).f(tls, id, offset, n, flags) } func Xsqlite3OsShmBarrier(tls *libc.TLS, id uintptr) { /* sqlite3.c:23595:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 120 /* &.xShmBarrier */))))(tls, id) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})).f(tls, id) } func Xsqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) int32 { /* sqlite3.c:23598:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 128 /* &.xShmUnmap */))))(tls, id, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})).f(tls, id, deleteFlag) } func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* sqlite3.c:23601:20: */ @@ -13769,7 +13798,9 @@ func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExten Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 104 /* &.xShmMap */))))(tls, id, iPage, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})).f(tls, id, iPage, pgsz, bExtend, pp) } // The real implementation of xFetch and xUnfetch @@ -13782,11 +13813,15 @@ func Xsqlite3OsFetch(tls *libc.TLS, id uintptr, iOff I64, iAmt int32, pp uintptr Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 136 /* &.xFetch */))))(tls, id, iOff, iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})).f(tls, id, iOff, iAmt, pp) } func Xsqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:23619:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 144 /* &.xUnfetch */))))(tls, id, iOff, p) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})).f(tls, id, iOff, p) } // The next group of routines are convenience wrappers around the @@ -13805,7 +13840,9 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f // down into the VFS layer. Some SQLITE_OPEN_ flags (for example, // SQLITE_OPEN_FULLMUTEX or SQLITE_OPEN_SHAREDCACHE) are blocked before // reaching the VFS. - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) return rc } @@ -13820,7 +13857,9 @@ func Xsqlite3OsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) } if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete != uintptr(0) { - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync) } return SQLITE_OK } @@ -13834,7 +13873,9 @@ func Xsqlite3OsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, p Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut) } func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* sqlite3.c:23668:20: */ @@ -13847,25 +13888,35 @@ func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut } *(*uint8)(unsafe.Pointer(zPathOut)) = uint8(0) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut) } func Xsqlite3OsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:23679:21: */ // tag-20210611-1 - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath) } func Xsqlite3OsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) { /* sqlite3.c:23684:21: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zBufOut) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zBufOut) } func Xsqlite3OsDlSym(tls *libc.TLS, pVfs uintptr, pHdle uintptr, zSym uintptr) uintptr { /* sqlite3.c:23687:21: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pHdle, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pHdle, zSym) } func Xsqlite3OsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:23690:21: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle) } func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:23694:20: */ @@ -13877,19 +13928,25 @@ func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uint libc.Xmemcpy(tls, zBufOut, (uintptr(unsafe.Pointer(&Xsqlite3Config)) + 420 /* &.iPrngSeed */), uint64(nByte)) return SQLITE_OK } else { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 104 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut) } return int32(0) } func Xsqlite3OsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:23705:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro) } func Xsqlite3OsGetLastError(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:23708:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError != 0 { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, 0, uintptr(0)) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, 0, uintptr(0)) } return 0 } @@ -13905,12 +13962,16 @@ func Xsqlite3OsCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) i // will fall back to xCurrentTime() if xCurrentTimeInt64() is // unavailable. if ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion >= 2) && ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64 != 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, pTimeOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, pTimeOut) } else { // var r float64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, bp /* &r */) - *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, bp /* &r */) + *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) } return rc } @@ -14120,14 +14181,14 @@ func Xsqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd u func Xsqlite3BeginBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23942:21: */ if sqlite3Hooks.FxBenignBegin != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) /* &.xBenignBegin */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignBegin})).f(tls) } } func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23948:21: */ if sqlite3Hooks.FxBenignEnd != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) + 8 /* &.xBenignEnd */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignEnd})).f(tls) } } @@ -14488,7 +14549,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ (*Sqlite3_mutex_methods)(unsafe.Pointer(pTo)).FxMutexAlloc = (*Sqlite3_mutex_methods)(unsafe.Pointer(pFrom)).FxMutexAlloc } - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexInit})).f(tls) return rc } @@ -14498,7 +14559,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ func Xsqlite3MutexEnd(tls *libc.TLS) int32 { /* sqlite3.c:26379:20: */ var rc int32 = SQLITE_OK if Xsqlite3Config.Fmutex.FxMutexEnd != 0 { - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 8 /* &.xMutexEnd */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnd})).f(tls) } return rc @@ -14513,7 +14574,9 @@ func Xsqlite3_mutex_alloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26395: return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30: */ @@ -14521,14 +14584,16 @@ func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30 return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } // Free a dynamic mutex. func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 24 /* &.xMutexFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexFree})).f(tls, p) } } @@ -14537,7 +14602,7 @@ func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ func Xsqlite3_mutex_enter(tls *libc.TLS, p uintptr) { /* sqlite3.c:26427:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 32 /* &.xMutexEnter */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnter})).f(tls, p) } } @@ -14547,7 +14612,9 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: var rc int32 = SQLITE_OK if p != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 40 /* &.xMutexTry */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexTry})).f(tls, p) } return rc } @@ -14559,7 +14626,7 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: func Xsqlite3_mutex_leave(tls *libc.TLS, p uintptr) { /* sqlite3.c:26453:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 48 /* &.xMutexLeave */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexLeave})).f(tls, p) } } @@ -14720,7 +14787,7 @@ type Mem0Global = struct { FalarmThreshold Sqlite3_int64 FhardLimit Sqlite3_int64 FnearlyFull int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:27830:19 */ // Default value of the hard heap limit. 0 means "no limit". @@ -14827,7 +14894,9 @@ func Xsqlite3MallocInit(tls *libc.TLS) int32 { /* sqlite3.c:27944:20: */ Xsqlite3Config.FpPage = uintptr(0) Xsqlite3Config.FszPage = 0 } - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 40 /* &.xInit */))))(tls, Xsqlite3Config.Fm.FpAppData) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxInit})).f(tls, Xsqlite3Config.Fm.FpAppData) if rc != SQLITE_OK { libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -14844,7 +14913,7 @@ func Xsqlite3HeapNearlyFull(tls *libc.TLS) int32 { /* sqlite3.c:27965:20: */ // Deinitialize the memory allocation subsystem. func Xsqlite3MallocEnd(tls *libc.TLS) { /* sqlite3.c:27972:21: */ if Xsqlite3Config.Fm.FxShutdown != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 48 /* &.xShutdown */))))(tls, Xsqlite3Config.Fm.FpAppData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxShutdown})).f(tls, Xsqlite3Config.Fm.FpAppData) } libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -14898,7 +14967,7 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 // mode and specifically when the DMD "Dark Matter Detector" is enabled // or else a crash results. Hence, do not attempt to optimize out the // following xRoundup() call. - nFull = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, n) + nFull = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, n) Xsqlite3StatusHighwater(tls, SQLITE_STATUS_MALLOC_SIZE, n) if mem0.FalarmThreshold > int64(0) { @@ -14917,10 +14986,14 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32(0), 0) } } - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) if (p == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, nFull) - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) } if p != 0 { nFull = Xsqlite3MallocSize(tls, p) @@ -14950,7 +15023,9 @@ func Xsqlite3Malloc(tls *libc.TLS, n U64) uintptr { /* sqlite3.c:28062:21: */ mallocWithAlarm(tls, int32(n), bp /* &p */) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, int32(n)) + *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, int32(n)) } // IMP: R-11148-40995 return *(*uintptr)(unsafe.Pointer(bp /* p */)) @@ -14985,7 +15060,9 @@ func isLookaside(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:2810 // sqlite3Malloc() or sqlite3_malloc(). func Xsqlite3MallocSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:28115:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func lookasideMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:28119:12: */ @@ -15009,13 +15086,17 @@ func Xsqlite3DbMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit } } } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func Xsqlite3_msize(tls *libc.TLS, p uintptr) Sqlite3_uint64 { /* sqlite3.c:28155:27: */ if p != 0 { - return uint64((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p)) + return uint64((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p)) } return uint64(0) } @@ -15030,10 +15111,10 @@ func Xsqlite3_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:28164:17: */ Xsqlite3_mutex_enter(tls, mem0.Fmutex) Xsqlite3StatusDown(tls, SQLITE_STATUS_MEMORY_USED, Xsqlite3MallocSize(tls, p)) Xsqlite3StatusDown(tls, SQLITE_STATUS_MALLOC_COUNT, 1) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) } } @@ -15101,7 +15182,7 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit // IMPLEMENTATION-OF: R-46199-30249 SQLite guarantees that the second // argument to xRealloc is always a value returned by a prior call to // xRoundup. - nNew = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(nBytes)) + nNew = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(nBytes)) if nOld == nNew { pNew = pOld } else if Xsqlite3Config.FbMemstat != 0 { @@ -15116,10 +15197,14 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit return uintptr(0) } } - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) if (pNew == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, int32(nBytes)) - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } if pNew != 0 { nNew = Xsqlite3MallocSize(tls, pNew) @@ -15127,7 +15212,9 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit } Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } // IMP: R-11148-40995 return pNew @@ -17422,7 +17509,9 @@ func renderLogMsg(tls *libc.TLS, iErrCode int32, zFormat uintptr, ap Va_list) { Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+32 /* &zMsg[0] */, int32(unsafe.Sizeof([210]uint8{})), 0) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 376 /* &.xLog */))))(tls, Xsqlite3Config.FpLogArg, iErrCode, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.FxLog})).f(tls, Xsqlite3Config.FpLogArg, iErrCode, Xsqlite3StrAccumFinish(tls, bp /* &acc */)) } @@ -17672,7 +17761,9 @@ func Xsqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui (*SQLiteThread)(unsafe.Pointer(p)).FpIn = pIn } else { (*SQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0) - (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&xTask)))(tls, pIn) + (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xTask})).f(tls, pIn) } *(*uintptr)(unsafe.Pointer(ppThread)) = p return SQLITE_OK @@ -17685,7 +17776,9 @@ func Xsqlite3ThreadJoin(tls *libc.TLS, p uintptr, ppOut uintptr) int32 { /* sqli return SQLITE_NOMEM } if (*SQLiteThread)(unsafe.Pointer(p)).FxTask != 0 { - *(*uintptr)(unsafe.Pointer(ppOut)) = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((p /* &.xTask */))))(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) + *(*uintptr)(unsafe.Pointer(ppOut)) = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*SQLiteThread)(unsafe.Pointer(p)).FxTask})).f(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SQLiteThread)(unsafe.Pointer(p)).FpResult } @@ -18641,7 +18734,7 @@ type Double_t = float64 /* math.h:153:16 */ func Xsqlite3FaultSim(tls *libc.TLS, iTest int32) int32 { /* sqlite3.c:31735:20: */ var xCallback uintptr = Xsqlite3Config.FxTestCallback if xCallback != 0 { - return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&xCallback)))(tls, iTest) + return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, iTest) } return SQLITE_OK } @@ -21404,23 +21497,23 @@ type statx = struct { // Not necessary, we always have 64-bit offsets. type flock = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start X__off_t - Fl_len X__off_t - Fl_pid X__pid_t - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start X__off_t + Fl_len X__off_t + Fl_pid X__pid_t + F__ccgo_pad2 [4]byte } /* fcntl.h:37:1 */ type flock64 = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start X__off64_t - Fl_len X__off64_t - Fl_pid X__pid_t - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start X__off64_t + Fl_len X__off64_t + Fl_pid X__pid_t + F__ccgo_pad2 [4]byte } /* fcntl.h:52:1 */ // Include generic Linux declarations. @@ -21473,7 +21566,7 @@ type flock64 = struct { // License along with the GNU C Library; if not, see // . -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -21505,15 +21598,6 @@ type flock64 = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -21550,11 +21634,6 @@ type flock64 = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -21650,7 +21729,7 @@ type f_owner_ex = struct { // File handle structure. type file_handle = struct { - _ [0]uint32 + F__ccgo_pad1 [0]uint32 Fhandle_bytes uint32 Fhandle_type int32 } /* fcntl-linux.h:357:1 */ @@ -21820,13 +21899,13 @@ type winsize = struct { } /* ioctl-types.h:27:1 */ type termio = struct { - Fc_iflag uint16 - Fc_oflag uint16 - Fc_cflag uint16 - Fc_lflag uint16 - Fc_line uint8 - Fc_cc [8]uint8 - _ [1]byte + Fc_iflag uint16 + Fc_oflag uint16 + Fc_cflag uint16 + Fc_lflag uint16 + Fc_line uint8 + Fc_cc [8]uint8 + F__ccgo_pad1 [1]byte } /* ioctl-types.h:36:1 */ // Copyright (C) 1991-2020 Free Software Foundation, Inc. @@ -22191,7 +22270,7 @@ type termio = struct { // Never include this file directly; use instead. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -22223,15 +22302,6 @@ type termio = struct { // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -22268,11 +22338,6 @@ type termio = struct { // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Offset of member MEMBER in a struct of type TYPE. @@ -22437,13 +22502,13 @@ type Error_t = int32 /* error_t.h:22:13 */ // Forward references type unixShm = struct { - FpShmNode uintptr - FpNext uintptr - FhasMutex U8 - Fid U8 - FsharedMask U16 - FexclMask U16 - _ [2]byte + FpShmNode uintptr + FpNext uintptr + FhasMutex U8 + Fid U8 + FsharedMask U16 + FexclMask U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:34057:9 */ // Try to determine if gethostuuid() is available based on standard @@ -22479,20 +22544,20 @@ type unixShm = struct { // Forward references type UnixShm = unixShm /* sqlite3.c:34057:24 */ // Connection shared memory type unixShmNode = struct { - FpInode uintptr - FpShmMutex uintptr - FzFilename uintptr - FhShm int32 - FszRegion int32 - FnRegion U16 - FisReadonly U8 - FisUnlocked U8 - _ [4]byte - FapRegion uintptr - FnRef int32 - _ [4]byte - FpFirst uintptr - FaLock [8]int32 + FpInode uintptr + FpShmMutex uintptr + FzFilename uintptr + FhShm int32 + FszRegion int32 + FnRegion U16 + FisReadonly U8 + FisUnlocked U8 + F__ccgo_pad1 [4]byte + FapRegion uintptr + FnRef int32 + F__ccgo_pad2 [4]byte + FpFirst uintptr + FaLock [8]int32 } /* sqlite3.c:34057:9 */ // Connection shared memory @@ -22507,10 +22572,10 @@ type unixInodeInfo = struct { FnLock int32 FeFileLock uint8 FbProcessLock uint8 - _ [6]byte + F__ccgo_pad1 [6]byte FpUnused uintptr FnRef int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpShmNode uintptr FpNext uintptr FpPrev uintptr @@ -22535,10 +22600,10 @@ type unixFile = struct { FpInode uintptr Fh int32 FeFileLock uint8 - _ [1]byte + F__ccgo_pad1 [1]byte FctrlFlags uint16 FlastErrno int32 - _ [4]byte + F__ccgo_pad2 [4]byte FlockingContext uintptr FpPreallocatedUnused uintptr FzPath uintptr @@ -25483,10 +25548,10 @@ shmpage_out: if !(int32((*UnixShmNode)(unsafe.Pointer(pShmNode)).FnRegion) > iRegion) { goto __25 } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) goto __26 __25: - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) __26: ; if !(((*UnixShmNode)(unsafe.Pointer(pShmNode)).FisReadonly != 0) && (rc == SQLITE_OK)) { @@ -25971,7 +26036,9 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if (ctrlFlags & UNIXFILE_NOLOCK) != 0 { pLockingStyle = uintptr(unsafe.Pointer(&nolockIoMethods)) } else { - pLockingStyle = (**(**func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 32 /* &.pAppData */))))(tls, zFilename, pNew) + pLockingStyle = (*(**struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData}))).f(tls, zFilename, pNew) } if pLockingStyle == uintptr(unsafe.Pointer(&posixIoMethods)) { @@ -26861,20 +26928,20 @@ type Dl_info = struct { // This is the type of elements in `Dl_serinfo', below. // The `dls_name' member points to space in the buffer passed to `dlinfo'. type Dl_serpath = struct { - Fdls_name uintptr - Fdls_flags uint32 - _ [4]byte + Fdls_name uintptr + Fdls_flags uint32 + F__ccgo_pad1 [4]byte } /* dlfcn.h:175:3 */ // This is the structure that must be passed (by reference) to `dlinfo' for // the RTLD_DI_SERINFO and RTLD_DI_SERINFOSIZE requests. type Dl_serinfo = struct { - Fdls_size Size_t - Fdls_cnt uint32 - _ [4]byte - F__16 struct { + Fdls_size Size_t + Fdls_cnt uint32 + F__ccgo_pad1 [4]byte + F__16 struct { Fdls_serpath [0]Dl_serpath - _ [16]byte + F__ccgo_pad1 [16]byte } } /* dlfcn.h:196:3 */ @@ -26923,7 +26990,9 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr x = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) uintptr }{libc.Xdlsym})) - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(&x)))(tls, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:40681:13: */ @@ -27289,26 +27358,26 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42157:16: */ // Forward declaration of objects used by this utility type MemVfs = sqlite3_vfs /* sqlite3.c:48545:28 */ type MemFile1 = struct { - Fbase Sqlite3_file - FpStore uintptr - FeLock int32 - _ [4]byte + Fbase Sqlite3_file + FpStore uintptr + FeLock int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:48546:9 */ type MemFile = MemFile1 /* sqlite3.c:48546:24 */ type MemStore1 = struct { - Fsz Sqlite3_int64 - FszAlloc Sqlite3_int64 - FszMax Sqlite3_int64 - FaData uintptr - FpMutex uintptr - FnMmap int32 - FmFlags uint32 - FnRdLock int32 - FnWrLock int32 - FnRef int32 - _ [4]byte - FzFName uintptr + Fsz Sqlite3_int64 + FszAlloc Sqlite3_int64 + FszMax Sqlite3_int64 + FaData uintptr + FpMutex uintptr + FnMmap int32 + FmFlags uint32 + FnRdLock int32 + FnWrLock int32 + FnRef int32 + F__ccgo_pad1 [4]byte + FzFName uintptr } /* sqlite3.c:48546:9 */ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ @@ -27318,9 +27387,9 @@ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. type MemFS = struct { - FnMemStore int32 - _ [4]byte - FapMemStore uintptr + FnMemStore int32 + F__ccgo_pad1 [4]byte + FapMemStore uintptr } /* sqlite3.c:48617:8 */ // File-scope variables for holding the memdb files that are accessible @@ -27621,7 +27690,9 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in var p uintptr = uintptr(0) var szName int32 if (flags & SQLITE_OPEN_MAIN_DB) == 0 { - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 40 /* &.xOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) } libc.Xmemset(tls, pFile, 0, uint64(unsafe.Sizeof(MemStore{}))) szName = Xsqlite3Strlen30(tls, zName) @@ -27713,44 +27784,60 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z // Open the dynamic library located at zPath and return a handle. func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49147:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49156:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49163:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49170:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49178:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49186:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49199:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49202:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 136 /* &.xCurrentTimeInt64 */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } // Translate a database connection pointer and schema name into a @@ -28497,7 +28584,9 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50041:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) } } @@ -28532,13 +28621,15 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50072:20: */ Xsqlite3PCacheSetDefault(tls) } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 16 /* &.xInit */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50082:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 24 /* &.xShutdown */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } } @@ -28578,15 +28669,19 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr - pNew = (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 32 /* &.xCreate */))))(tls, + pNew = (*struct { + f func(*libc.TLS, int32, int32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCreate})).f(tls, szPage, (int32(uint64((*PCache)(unsafe.Pointer(pCache)).FszExtra) + (((uint64(unsafe.Sizeof(PgHdr{}))) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))))), int32((*PCache)(unsafe.Pointer(pCache)).FbPurgeable)) if pNew == uintptr(0) { return SQLITE_NOMEM } - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, pNew, numberOfCachePages(tls, pCache)) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, pNew, numberOfCachePages(tls, pCache)) if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } (*PCache)(unsafe.Pointer(pCache)).FpCache = pNew (*PCache)(unsafe.Pointer(pCache)).FszPage = szPage @@ -28629,7 +28724,9 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // (createFlag==1 AND !(bPurgeable AND pDirty) eCreate = (createFlag & int32((*PCache)(unsafe.Pointer(pCache)).FeCreate)) - pRes = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) + pRes = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) return pRes } @@ -28669,14 +28766,18 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage if pPg != 0 { var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pCache + 48 /* &.xStress */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PCache)(unsafe.Pointer(pCache)).FxStress})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) if (rc != SQLITE_OK) && (rc != SQLITE_BUSY) { return rc } } } - *(*uintptr)(unsafe.Pointer(ppPage)) = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) + *(*uintptr)(unsafe.Pointer(ppPage)) = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) if *(*uintptr)(unsafe.Pointer(ppPage)) == uintptr(0) { return SQLITE_NOMEM } @@ -28754,7 +28855,9 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50349:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) } (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) } // Make sure the page is marked as dirty. If it isn't dirty already, @@ -28817,7 +28920,9 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50433:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache - (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 72 /* &.xRekey */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uint32, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxRekey})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) (*PgHdr)(unsafe.Pointer(p)).Fpgno = newPgno if ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_DIRTY) != 0) && ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_NEED_SYNC) != 0) { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_FRONT)) @@ -28849,21 +28954,25 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } if (pgno == Pgno(0)) && ((*PCache)(unsafe.Pointer(pCache)).FnRefSum != 0) { var pPage1 uintptr - pPage1 = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) + pPage1 = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) if pPage1 != 0 { // Page 1 is always available in cache, because // pCache->nRefSum>0 libc.Xmemset(tls, (*Sqlite3_pcache_page)(unsafe.Pointer(pPage1)).FpBuf, 0, uint64((*PCache)(unsafe.Pointer(pCache)).FszPage)) pgno = Pgno(1) } } - (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 80 /* &.xTruncate */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) + (*struct { + f func(*libc.TLS, uintptr, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxTruncate})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) } } // Close a cache. func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50488:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. @@ -28979,7 +29088,9 @@ func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:5 // Return the total number of pages in the cache. func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:50605:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 48 /* &.xPagecount */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxPagecount})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Get the suggested cache-size value. @@ -28991,7 +29102,9 @@ func Xsqlite3PcacheGetCachesize(tls *libc.TLS, pCache uintptr) int32 { /* sqlite func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:50622:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, numberOfCachePages(tls, pCache)) } @@ -29017,7 +29130,7 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { // Free up as much memory as possible from the page cache. func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50651:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 96 /* &.xShrink */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer @@ -30684,7 +30797,7 @@ type Wal1 = struct { FpDbFd uintptr FpWalFd uintptr FiCallback U32 - _ [4]byte + F__ccgo_pad1 [4]byte FmxWalSize I64 FnWiData int32 FszFirstBlock int32 @@ -30700,13 +30813,13 @@ type Wal1 = struct { FsyncHeader U8 FpadToSectorBoundary U8 FbShmUnreliable U8 - _ [1]byte + F__ccgo_pad2 [1]byte Fhdr WalIndexHdr FminFrame U32 FiReCksum U32 FzWalName uintptr FnCkpt U32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSnapshot uintptr } /* sqlite3.c:1331:9 */ @@ -31142,7 +31255,7 @@ type PagerSavepoint1 = struct { FiSubRec Pgno FbTruncateOnRelease int32 FaWalData [4]U32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ //************* End of wal.h ************************************************ @@ -32777,7 +32890,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo var pData uintptr pData = (*PgHdr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */)))).FpData libc.Xmemcpy(tls, pData, aData, uint64((*Pager)(unsafe.Pointer(pPager)).FpageSize)) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 264 /* &.xReiniter */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) // It used to be that sqlite3PcacheMakeClean(pPg) was called here. But // that call was dangerous and had no detectable benefit since the cache // is normally cleaned by sqlite3PcacheCleanAll() after rollback and so @@ -33512,7 +33625,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } else { rc = readDbPage(tls, pPg) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 264 /* &.xReiniter */))))(tls, pPg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, pPg) } Xsqlite3PagerUnrefNotNull(tls, pPg) } @@ -34251,7 +34364,9 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // may be invoked during, according to the comment above // sqlite3PagerSetBusyhandler(). - for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pPager + 224 /* &.xBusyHandler */))))(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { + for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxBusyHandler})).f(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { rc = pagerLockDb(tls, pPager, locktype) } return rc @@ -36062,7 +36177,9 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag // Dispatch all page fetch requests to the appropriate getter method. func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58297:20: */ - return (*(*func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32)(unsafe.Pointer((pPager + 272 /* &.xGet */))))(tls, pPager, pgno, ppPage, flags) + return (*struct { + f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxGet})).f(tls, pPager, pgno, ppPage, flags) } // Acquire a page if it is already in the in-memory cache. Do @@ -38344,12 +38461,12 @@ type WalIterator1 = struct { FiPrior U32 FnSegment int32 FaSegment [1]struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } } /* sqlite3.c:60656:9 */ @@ -38386,12 +38503,12 @@ type Ht_slot = U16 /* sqlite3.c:60848:13 */ // // This functionality is used by the checkpoint code (see walCheckpoint()). type WalSegment = struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } /* sqlite3.c:60656:9 */ // Define the parameters of the hash tables in the wal-index file. There @@ -38427,13 +38544,13 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt var nByte Sqlite3_int64 = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * (uint64(iPage + 1)))) var apNew uintptr libc.AtomicStoreUintptr(&apNew, uintptr(Xsqlite3Realloc(tls, (*Wal)(unsafe.Pointer(pWal)).FapWiData, uint64(nByte)))) - if !(libc.AtomicLoadUintptr(&apNew) != 0) { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = uintptr(0) + if !(apNew != 0) { + *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) return SQLITE_NOMEM } - libc.Xmemset(tls, (libc.AtomicLoadUintptr(&apNew) + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, + libc.Xmemset(tls, (apNew + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, (uint64(unsafe.Sizeof(uintptr(0))) * (uint64((iPage + 1) - (*Wal)(unsafe.Pointer(pWal)).FnWiData)))) - (*Wal)(unsafe.Pointer(pWal)).FapWiData = libc.AtomicLoadUintptr(&apNew) + (*Wal)(unsafe.Pointer(pWal)).FapWiData = apNew (*Wal)(unsafe.Pointer(pWal)).FnWiData = (iPage + 1) } @@ -38460,14 +38577,14 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt } } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) + *(*uintptr)(unsafe.Pointer(ppPage)) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) return rc } func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:60962:12: */ - if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(libc.AtomicLoadUintptr(&ppPage), *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { - return walIndexPageRealloc(tls, pWal, iPage, libc.AtomicLoadUintptr(&ppPage)) + if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { + return walIndexPageRealloc(tls, pWal, iPage, ppPage) } return SQLITE_OK } @@ -38552,9 +38669,9 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61077:28: */ (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion = U32(WALINDEX_MAX_VERSION) walChecksumBytes(tls, 1, (pWal + 72 /* &.hdr */), nCksum, uintptr(0), pWal+72 /* &.hdr */ +40 /* &.aCksum */) // Possible TSAN false-positive. See tag-20200519-1 - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr) + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr)), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) } // This function encodes a single frame header and writes it to a buffer @@ -38689,10 +38806,10 @@ func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61258:12: // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). type WalHashLoc1 = struct { - FaHash uintptr - FaPgno uintptr - FiZero U32 - _ [4]byte + FaHash uintptr + FaPgno uintptr + FiZero U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:61267:9 */ // An instance of the WalHashLoc object is used to describe the location @@ -39117,9 +39234,9 @@ finished: // currently holding locks that exclude all other writers and // checkpointers. Then set the values of read-mark slots 1 through N. libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill = U32(0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */))) = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */))) = U32(0) i = 1 __22: if !(i < (SQLITE_SHM_NLOCK - 3)) { @@ -39132,10 +39249,10 @@ __22: if !((i == 1) && ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0)) { goto __27 } - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame goto __28 __27: - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED __28: ; walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -39418,9 +39535,9 @@ func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintpt } type Sublist = struct { - FnList int32 - _ [4]byte - FaList uintptr + FnList int32 + F__ccgo_pad1 [4]byte + FaList uintptr } /* sqlite3.c:61957:3 */ // Free an iterator allocated by walIteratorInit(). @@ -39526,7 +39643,9 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // lock is successfully obtained or the busy-handler returns 0. func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62195:12: */ var rc int32 - for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xBusy)))(tls, pBusyArg) != 0)) { + for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xBusy})).f(tls, pBusyArg) != 0)) { rc = walLockExclusive(tls, pWal, lockIdx, n) } return rc @@ -39566,11 +39685,11 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62240: Xsqlite3Put4byte(tls, (aSalt), (U32(1) + Xsqlite3Get4byte(tls, (aSalt)))) libc.Xmemcpy(tls, ((pWal + 72 /* &.hdr */ + 32 /* &.aSalt */) + 1*4), bp /* &salt1 */, uint64(4)) walIndexWriteHdr(tls, pWal) - libc.AtomicStoreNInt32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), int32(0), 0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = U32(0) - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + 1*4)) = U32(0) + libc.AtomicStoreNInt32((pInfo /* &.nBackfill */), int32(0), 0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = U32(0) + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + 1*4)) = U32(0) for i = 2; i < (SQLITE_SHM_NLOCK - 3); i++ { - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED } } @@ -39638,7 +39757,7 @@ func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy u szPage = walPagesize(tls, pWal) libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __1 } @@ -39656,7 +39775,7 @@ __2: if !(i < (SQLITE_SHM_NLOCK - 3)) { goto __4 } - y = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + y = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if !(mxSafeFrame > y) { goto __5 } @@ -39671,7 +39790,7 @@ __2: } return READMARK_NOT_USED }() - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) walUnlockExclusive(tls, pWal, (3 + (i)), 1) goto __7 __6: @@ -39698,10 +39817,10 @@ __4: ; // Allocate the iterator - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < mxSafeFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < mxSafeFrame) { goto __10 } - rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill, bp /* &pIter */) + rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp /* &pIter */) __10: ; @@ -39710,9 +39829,9 @@ __10: ((libc.AssignInt32(&rc, walBusyLock(tls, pWal, xBusy, pBusyArg, (3+(0)), 1))) == SQLITE_OK)) { goto __11 } - nBackfill = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill + nBackfill = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = mxSafeFrame + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = mxSafeFrame // Sync the WAL to disk rc = Xsqlite3OsSync(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, (((sync_flags) >> 2) & 0x03)) @@ -39814,7 +39933,7 @@ __23: if !(rc == SQLITE_OK) { goto __25 } - libc.AtomicStoreNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), uint32(mxSafeFrame), 0) + libc.AtomicStoreNUint32((pInfo /* &.nBackfill */), uint32(mxSafeFrame), 0) __25: ; __22: @@ -39844,7 +39963,7 @@ __1: goto __27 } - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __28 } rc = SQLITE_BUSY @@ -40017,9 +40136,9 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // shared among multiple processes and not all mutex implementions work // reliably in that environment. libc.AtomicStoreUintptr(&aHdr, uintptr(walIndexHdr(tls, pWal))) - libc.Xmemcpy(tls, bp /* &h1 */, (libc.AtomicLoadUintptr(&aHdr)), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive + libc.Xmemcpy(tls, bp /* &h1 */, (aHdr), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, bp+48 /* &h2 */, (libc.AtomicLoadUintptr(&aHdr) + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, bp+48 /* &h2 */, (aHdr + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) if (libc.Xmemcmp(tls, bp /* &h1 */, bp+48 /* &h2 */, uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { return 1 // Dirty read @@ -40096,7 +40215,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // works, but may fail if the wal-index header is corrupt or currently // being modified by another thread or process. badHdr = func() int32 { - if libc.AtomicLoadPUintptr(bp /* page0 */) != 0 { + if *(*uintptr)(unsafe.Pointer(bp /* page0 */)) != 0 { return walIndexTryHdr(tls, pWal, pChanged) } return 1 @@ -40522,7 +40641,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 } libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && + if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && (((*Wal)(unsafe.Pointer(pWal)).FpSnapshot == uintptr(0)) || ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame == U32(0))) { // The WAL has been completely backfilled (or it is empty). // and can be safely ignored. @@ -40563,7 +40682,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 mxFrame = (*WalIndexHdr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FpSnapshot)).FmxFrame } for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { - var thisMark U32 = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + var thisMark U32 = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if (mxReadMark <= thisMark) && (thisMark <= mxFrame) { mxReadMark = thisMark @@ -40575,7 +40694,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { rc = walLockExclusive(tls, pWal, (3 + (i)), 1) if rc == SQLITE_OK { - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) mxReadMark = mxFrame mxI = i walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -40633,9 +40752,9 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // that it can read version A from the database file. However, since // we can guarantee that the checkpointer that set nBackfill could not // see any pages past pWal->hdr.mxFrame, this problem does not come up. - (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0) + 1)) + (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0) + 1)) walShmBarrier(tls, pWal) - if (U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo)+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || + if (U32(libc.AtomicLoadNUint32(((pInfo+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || (libc.Xmemcmp(tls, walIndexHdr(tls, pWal), (pWal+72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { walUnlockShared(tls, pWal, (3 + (mxI))) return -1 @@ -40683,8 +40802,8 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. if (pBuf1 == uintptr(0)) || (pBuf2 == uintptr(0)) { rc = SQLITE_NOMEM } else { - var i U32 = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted - for i = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)); i-- { + var i U32 = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted + for i = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)); i-- { // var sLoc WalHashLoc at bp+8, 24 // Hash table location var pgno U32 // Page number in db file @@ -40711,7 +40830,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. } } - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (i - U32(1)) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (i - U32(1)) } } @@ -40791,7 +40910,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // with *pSnapshot and set *pChanged as appropriate for opening the // snapshot. if !(libc.Xmemcmp(tls, pSnapshot+32 /* &.aSalt */, pWal+72 /* &.hdr */ +32 /* &.aSalt */, uint64(unsafe.Sizeof([2]U32{}))) != 0) && - ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted) { + ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted) { libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */), pSnapshot, uint64(unsafe.Sizeof(WalIndexHdr{}))) *(*int32)(unsafe.Pointer(pChanged)) = bChanged @@ -41030,7 +41149,9 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // page 1 is never written to the log until the transaction is // committed. As a result, the call to xUndo may not fail. - rc = (*(*func(*libc.TLS, uintptr, Pgno) int32)(unsafe.Pointer(&xUndo)))(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) + rc = (*struct { + f func(*libc.TLS, uintptr, Pgno) int32 + })(unsafe.Pointer(&struct{ uintptr }{xUndo})).f(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) } if iMax != (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame { walCleanupHash(tls, pWal) @@ -41096,7 +41217,7 @@ func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63690:12: * if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) == 0 { var pInfo uintptr = walCkptInfo(tls, pWal) - if (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill > U32(0) { + if (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill > U32(0) { // var salt1 U32 at bp, 4 Xsqlite3_randomness(tls, 4, bp /* &salt1 */) @@ -42006,7 +42127,7 @@ type MemPage1 = struct { FchildPtrSize U8 Fmax1bytePayload U8 FnOverflow U8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal U16 FminLocal U16 FcellOffset U16 @@ -42014,7 +42135,7 @@ type MemPage1 = struct { FnCell U16 FmaskPage U16 FaiOvfl [4]U16 - _ [4]byte + F__ccgo_pad2 [4]byte FapOvfl [4]uintptr FpBt uintptr FaData uintptr @@ -42271,11 +42392,11 @@ type MemPage1 = struct { // Forward declarations type MemPage = MemPage1 /* sqlite3.c:64658:24 */ type BtLock1 = struct { - FpBtree uintptr - FiTable Pgno - FeLock U8 - _ [3]byte - FpNext uintptr + FpBtree uintptr + FiTable Pgno + FeLock U8 + F__ccgo_pad1 [3]byte + FpNext uintptr } /* sqlite3.c:1331:9 */ type BtLock = BtLock1 /* sqlite3.c:64659:23 */ @@ -43621,7 +43742,9 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:66752:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell)))) + 1))))))), pInfo) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell)))) + 1))))))), pInfo) } // The following routines are implementations of the MemPage.xCellSize @@ -43702,7 +43825,9 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, return } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { var ovfl Pgno if (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) >= Uptr((pCell))) && (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) < Uptr((pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal)))) { @@ -43885,7 +44010,9 @@ __18: __21: ; - size = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (src + uintptr(pc)))) + size = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (src + uintptr(pc)))) cbrk = cbrk - (size) if !((cbrk < iCellStart) || ((pc + size) > usableSize)) { goto __22 @@ -44375,7 +44502,9 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:67431 if (pc < iCellFirst) || (pc > iCellLast) { return Xsqlite3CorruptError(tls, 67452) } - sz = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (data + uintptr(pc)))) + sz = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (data + uintptr(pc)))) if (pc + sz) > usableSize { return Xsqlite3CorruptError(tls, 67457) @@ -45213,7 +45342,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68190:20: Xsqlite3PagerClose(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, (*Btree)(unsafe.Pointer(p)).Fdb) if ((*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema != 0) && ((*BtShared)(unsafe.Pointer(pBt)).FpSchema != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pBt + 80 /* &.xFreeSchema */))))(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema})).f(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) } Xsqlite3DbFree(tls, uintptr(0), (*BtShared)(unsafe.Pointer(pBt)).FpSchema) freeTempSpace(tls, pBt) @@ -46167,7 +46296,9 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if int32(eType) == PTRMAP_OVERFLOW1 { // var info CellInfo at bp, 24 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { if (pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnSize)) > ((*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)) { return Xsqlite3CorruptError(tls, 69109) @@ -47973,7 +48104,9 @@ __35: // Size of the pCell cell in bytes // single byte varint and the record fits entirely on the main // b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 1), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 1), pIdxKey) goto __39 __38: if !(!((int32(*(*U8)(unsafe.Pointer(pCell + 1))) & 0x80) != 0) && @@ -47983,12 +48116,16 @@ __38: // The record-size field is a 2 byte varint and the record // fits entirely on the main b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 2), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 2), pIdxKey) goto __41 __40: pCellBody = (pCell - uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize)) nOverrun = 18 // Size of the overrun padding - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) nCell = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) // True if key size is 2^32 or more // Invalid key size: 0x80 0x80 0x00 @@ -49560,13 +49697,13 @@ func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous type CellArray1 = struct { - FnCell int32 - _ [4]byte - FpRef uintptr - FapCell uintptr - FszCell uintptr - FapEnd [6]uintptr - FixNx [6]int32 + FnCell int32 + F__ccgo_pad1 [4]byte + FpRef uintptr + FapCell uintptr + FszCell uintptr + FapEnd [6]uintptr + FixNx [6]int32 } /* sqlite3.c:72392:9 */ // The following parameters determine how many adjacent pages get involved @@ -49653,7 +49790,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite for N > 0 { if int32(*(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2))) == 0 { - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) } else { } @@ -49665,7 +49804,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite // Return the size of the Nth element of the cell array func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:72424:28: */ - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } @@ -50092,7 +50233,9 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr var pOut uintptr = (pSpace + 4) *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) = *(*uintptr)(unsafe.Pointer((pPage + 40 /* &.apOvfl */))) - *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) + *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) var pStop uintptr // var b CellArray at bp+32, 104 @@ -50458,13 +50601,17 @@ __16: } *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((pParent + 40 /* &.apOvfl */))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) (*MemPage)(unsafe.Pointer(pParent)).FnOverflow = U8(0) goto __18 __17: *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow)))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow))))) + 1))))))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) // Drop the cell from the parent page. apDiv[i] still points to // the cell within the parent, even though it has been dropped. @@ -50726,7 +50873,9 @@ __46: if !(j < int32((*MemPage)(unsafe.Pointer(p)).FnOverflow)) { goto __48 } - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((p + 120 /* &.xCellSize */))))(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(p)).FxCellSize})).f(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) goto __47 __47: j++ @@ -51230,7 +51379,9 @@ __118: goto __120 } j-- - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pNew2 + 128 /* &.xParseCell */))))(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pNew2)).FxParseCell})).f(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) pCell1 = pTemp1 sz2 = (4 + Xsqlite3PutVarint(tls, (pCell1+4), uint64((*CellInfo)(unsafe.Pointer(bp+328 /* &info */)).FnKey))) pTemp1 = uintptr(0) @@ -51251,7 +51402,9 @@ __120: goto __122 } - sz2 = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, pCell1)) + sz2 = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, pCell1)) __122: ; __121: @@ -52047,7 +52200,9 @@ __25: if !(((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal))) { goto __26 } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, newCell, bp+80 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnLocal)) { goto __27 } @@ -52088,7 +52243,9 @@ __31: libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) __32: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, oldCell, bp+112 /* &info1 */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { goto __33 } @@ -52457,7 +52614,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = clearCellOverflow(tls, pPage, pCell, bp /* &info */) } else { @@ -52495,7 +52654,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if pCell < ((*MemPage)(unsafe.Pointer(pLeaf)).FaData + 4) { return Xsqlite3CorruptError(tls, 74681) } - nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pLeaf + 120 /* &.xCellSize */))))(tls, pLeaf, pCell)) + nCell = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pLeaf)).FxCellSize})).f(tls, pLeaf, pCell)) pTmp = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -52767,7 +52928,9 @@ __8: ; __7: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) if !(U32((*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnPayload) { goto __9 } @@ -53498,7 +53661,9 @@ __9: __12: ; pCell = (data + uintptr(pc)) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } @@ -53599,7 +53764,9 @@ __24: goto __26 } pc = (U32((int32(*(*U8)(unsafe.Pointer((data + uintptr((cellStart + (i * 2))))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))) + 1))))) - size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) + size = U32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxCellSize})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + size) - U32(1)))) goto __25 __25: @@ -54984,7 +55151,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) } if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMem + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(pMem)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) } (*Mem)(unsafe.Pointer(pMem)).Fz = (*Mem)(unsafe.Pointer(pMem)).FzMalloc @@ -55146,7 +55313,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = bp + 56 /* &t */ (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pMem (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 32 /* &.xFinalize */))))(tls, bp /* &ctx */) // IMP: R-24505-23230 + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxFinalize})).f(tls, bp /* &ctx */) // IMP: R-24505-23230 if (*Mem)(unsafe.Pointer(pMem)).FszMalloc > 0 { Xsqlite3DbFreeNN(tls, (*Mem)(unsafe.Pointer(pMem)).Fdb, (*Mem)(unsafe.Pointer(pMem)).FzMalloc) @@ -55172,7 +55339,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = pOut (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pAccum (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 40 /* &.xValue */))))(tls, bp /* &ctx */) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxValue})).f(tls, bp /* &ctx */) return (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FisError } @@ -55191,7 +55358,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:77496 } if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(p)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(p)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(p)).Fz) } (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) } @@ -55398,7 +55565,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 rc = Xsqlite3AtoF(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, (pMem /* &.u */ /* &.r */), (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) if (((rc == 0) || (rc == 1)) && (Xsqlite3Atoi64(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, bp /* &ix */, (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) <= 1)) || - (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, I64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { + (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { *(*I64)(unsafe.Pointer(pMem /* &.u */)) = *(*Sqlite3_int64)(unsafe.Pointer(bp /* ix */)) (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pMem))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) } else { @@ -55899,11 +56066,11 @@ func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:78293:30 // Context object passed by sqlite3Stat4ProbeSetValue() through to // valueNew(). See comments above valueNew() for details. type ValueNewStat4Ctx = struct { - FpParse uintptr - FpIdx uintptr - FppRec uintptr - FiVal int32 - _ [4]byte + FpParse uintptr + FpIdx uintptr + FppRec uintptr + FiVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:78306:1 */ // Allocate and return a pointer to a new sqlite3_value object. If @@ -56053,7 +56220,9 @@ __9: libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpOut = pVal (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+8 /* &ctx */, nVal, apVal) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxSFunc})).f(tls, bp+8 /* &ctx */, nVal, apVal) if !((*Sqlite3_context)(unsafe.Pointer(bp+8 /* &ctx */)).FisError != 0) { goto __10 } @@ -58516,7 +58685,9 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. var pModule uintptr = (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FpModule (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FnRef-- - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 56 /* &.xClose */))))(tls, pVCur) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxClose})).f(tls, pVCur) break } @@ -58685,7 +58856,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // If there are any write-transactions at all, invoke the commit hook if (needXcommit != 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback != 0) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 280 /* &.xCommitCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) if rc != 0 { return (SQLITE_CONSTRAINT | (int32(2) << 8)) } @@ -59283,7 +59456,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, (((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg > 31) || !((uint32(mask) & (uint32((uint32(1))) << ((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg))) != 0))) { if (*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) } *(*uintptr)(unsafe.Pointer(pp)) = (*AuxData)(unsafe.Pointer(pAux)).FpNextAux Xsqlite3DbFree(tls, db, pAux) @@ -59826,7 +59999,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin if int32((*Mem)(unsafe.Pointer(pMem1)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { // The strings are already in the correct encoding. Call the // comparison function directly - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) } else { var rc int32 var v1 uintptr @@ -59847,7 +60022,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin } rc = 0 } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) } Xsqlite3VdbeMemRelease(tls, bp /* &c1 */) Xsqlite3VdbeMemRelease(tls, bp+56 /* &c2 */) @@ -60869,7 +61046,9 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FiBlobWrite = iBlobWrite (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = bp /* &preupdate */ - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64))(unsafe.Pointer((db + 336 /* &.xPreUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = uintptr(0) Xsqlite3DbFree(tls, db, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FaRecord) vdbeFreeUnpacked(tls, db, (int32((*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).Fkeyinfo.FnKeyField) + 1), (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FpUnpacked) @@ -60950,10 +61129,14 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: Xsqlite3OsCurrentTimeInt64(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, bp /* &iNow */) *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)) = ((*(*Sqlite3_int64)(unsafe.Pointer(bp /* iNow */)) - (*Vdbe)(unsafe.Pointer(p)).FstartTime) * int64(1000000)) if (*Sqlite3)(unsafe.Pointer(db)).FxProfile != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, U64))(unsafe.Pointer((db + 256 /* &.xProfile */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) + (*struct { + f func(*libc.TLS, uintptr, uintptr, U64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProfile})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) } if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_PROFILE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) } (*Vdbe)(unsafe.Pointer(p)).FstartTime = int64(0) } @@ -61273,7 +61456,7 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) } else if xDel == (libc.UintptrFromInt32(-1)) { // noop } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, p) } Xsqlite3_result_error_toobig(tls, pCtx) return SQLITE_TOOBIG @@ -61460,7 +61643,9 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:84742:12: */ nEntry = Xsqlite3PagerWalCallback(tls, Xsqlite3BtreePager(tls, pBt)) Xsqlite3BtreeLeave(tls, pBt) if ((nEntry > 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxWalCallback != 0)) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32)(unsafe.Pointer((db + 352 /* &.xWalCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxWalCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) } } } @@ -61867,7 +62052,7 @@ __6: if !((*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux != 0) { goto __10 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAuxData + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) __10: ; __7: @@ -61881,7 +62066,7 @@ failed: if !(xDelete != 0) { goto __11 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pAux) __11: } @@ -62230,7 +62415,7 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if (xDel != (uintptr(0))) && (xDel != (libc.UintptrFromInt32(-1))) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, zData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, zData) } return rc } @@ -62289,7 +62474,7 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, Xsqlite3VdbeMemSetPointer(tls, ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((i-1))*56), pPtr, zPTtype, xDestructor) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if xDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestructor)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestructor})).f(tls, pPtr) } return rc } @@ -66565,7 +66750,9 @@ __187: } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __189 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -67167,7 +67354,9 @@ __222: if !((int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_ROW) != 0) { goto __223 } - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) __223: ; @@ -71476,7 +71665,9 @@ __642: goto __643 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_ISUPDATE) != 0 { return SQLITE_UPDATE @@ -71624,7 +71815,9 @@ __650: if !(((*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback != 0) && (((*Table)(unsafe.Pointer((pTab1))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __652 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, (*VdbeCursor)(unsafe.Pointer(pC11)).FmovetoTarget) __652: @@ -71818,7 +72011,9 @@ __662: pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)))).FpVtab pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxRowid})).f(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) Xsqlite3VtabImportErrmsg(tls, p, pVtab) if !(rc != 0) { goto __666 @@ -72121,7 +72316,9 @@ __123: // jump // The Next opcode is only used after SeekGT, SeekGE, Rewind, and Found. // The Prev opcode is only used after SeekLT, SeekLE, and Last. - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pOp + 16 /* &.p4 */ /* &.xAdvance */))))(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */))})).f(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) next_tail: (*VdbeCursor)(unsafe.Pointer(pC20)).FcacheStatus = U32(CACHE_STALE) @@ -73502,10 +73699,14 @@ __779: if !((*Op)(unsafe.Pointer(pOp)).Fp1 != 0) { goto __783 } - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 48 /* &.xInverse */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxInverse})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) goto __784 __783: - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxSFunc})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) __784: ; // IMP: R-24505-23230 @@ -74016,7 +74217,9 @@ __173: __825: ; pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+864 /* &pVCur */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxOpen})).f(tls, pVtab1, bp+864 /* &pVCur */) Xsqlite3VtabImportErrmsg(tls, p, pVtab1) if !(rc != 0) { goto __826 @@ -74038,7 +74241,9 @@ __826: goto __828 __827: ; - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxClose})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) goto no_mem __828: ; @@ -74093,7 +74298,9 @@ __830: goto __831 __831: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pModule2 + 64 /* &.xFilter */))))(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxFilter})).f(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) Xsqlite3VtabImportErrmsg(tls, p, pVtab2) if !(rc != 0) { goto __832 @@ -74101,7 +74308,9 @@ __831: goto abort_due_to_error __832: ; - res13 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule2 + 80 /* &.xEof */))))(tls, pVCur1) + res13 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxEof})).f(tls, pVCur1) (*VdbeCursor)(unsafe.Pointer(pCur3)).FnullRow = U8(0) if !(res13 != 0) { @@ -74155,7 +74364,9 @@ __835: (*Mem)(unsafe.Pointer(pDest2)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pDest2))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) __836: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule3)).FxColumn})).f(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) Xsqlite3VtabImportErrmsg(tls, p, pVtab3) if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __837 @@ -74206,7 +74417,9 @@ __840: // xNext(). Instead, if an error occurs, true is returned (indicating that // data is available) and the error code returned when xColumn or // some other method is next invoked on the save virtual table cursor. - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 72 /* &.xNext */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxNext})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) Xsqlite3VtabImportErrmsg(tls, p, pVtab4) if !(rc != 0) { goto __841 @@ -74214,7 +74427,9 @@ __840: goto abort_due_to_error __841: ; - res14 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 80 /* &.xEof */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + res14 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxEof})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) if !(!(res14 != 0)) { goto __842 @@ -74244,7 +74459,9 @@ __177: goto abort_due_to_error __843: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule + 152 /* &.xRename */))))(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule)).FxRename})).f(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) if !(isLegacy == 0) { goto __844 } @@ -74330,7 +74547,9 @@ __850: __851: ; (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = U8((*Op)(unsafe.Pointer(pOp)).Fp5) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule5)).FxUpdate})).f(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict Xsqlite3VtabImportErrmsg(tls, p, pVtab6) if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) { @@ -74484,7 +74703,9 @@ __860: (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc)).FxSFunc})).f(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 // If the function returned an error, throw an exception if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0) { @@ -74577,7 +74798,9 @@ __184: goto __870 } z2 = Xsqlite3VdbeExpandSql(tls, p, zTrace) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((db + 240 /* &.trace */ /* &.xLegacy */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) Xsqlite3_free(tls, z2) goto __871 __870: @@ -74585,11 +74808,15 @@ __870: goto __872 } z3 = Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp+136, zTrace)) - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 __872: - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) __873: ; __871: @@ -74719,7 +74946,9 @@ __886: goto __887 } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __888 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -74785,15 +75014,15 @@ var vfsFlags int32 = ((((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OP // Valid sqlite3_blob* handles point to Incrblob structures. type Incrblob1 = struct { - FnByte int32 - FiOffset int32 - FiCol U16 - _ [6]byte - FpCsr uintptr - FpStmt uintptr - Fdb uintptr - FzDb uintptr - FpTab uintptr + FnByte int32 + FiOffset int32 + FiCol U16 + F__ccgo_pad1 [6]byte + FpCsr uintptr + FpStmt uintptr + Fdb uintptr + FzDb uintptr + FpTab uintptr } /* sqlite3.c:94829:9 */ //************* End of vdbe.c *********************************************** @@ -75302,7 +75531,9 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int v, *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(v)).FapCsr)), SQLITE_DELETE, (*Incrblob)(unsafe.Pointer(p)).FzDb, (*Incrblob)(unsafe.Pointer(p)).FpTab, iKey, -1, int32((*Incrblob)(unsafe.Pointer(p)).FiCol)) } - rc = (*(*func(*libc.TLS, uintptr, U32, U32, uintptr) int32)(unsafe.Pointer(&xCall)))(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) + rc = (*struct { + f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCall})).f(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) Xsqlite3BtreeLeaveCursor(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr) if rc == SQLITE_ABORT { Xsqlite3VdbeFinalize(tls, v) @@ -75542,11 +75773,11 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 // Private objects used by the sorter type MergeEngine1 = struct { - FnTree int32 - _ [4]byte - FpTask uintptr - FaTree uintptr - FaReadr uintptr + FnTree int32 + F__ccgo_pad1 [4]byte + FpTask uintptr + FaTree uintptr + FaReadr uintptr } /* sqlite3.c:21218:9 */ //************* End of vdbeblob.c ******************************************* @@ -75700,56 +75931,56 @@ type MergeEngine1 = struct { // Private objects used by the sorter type MergeEngine = MergeEngine1 /* sqlite3.c:95477:28 */ // Merge PMAs together type PmaReader1 = struct { - FiReadOff I64 - FiEof I64 - FnAlloc int32 - FnKey int32 - FpFd uintptr - FaAlloc uintptr - FaKey uintptr - FaBuffer uintptr - FnBuffer int32 - _ [4]byte - FaMap uintptr - FpIncr uintptr + FiReadOff I64 + FiEof I64 + FnAlloc int32 + FnKey int32 + FpFd uintptr + FaAlloc uintptr + FaKey uintptr + FaBuffer uintptr + FnBuffer int32 + F__ccgo_pad1 [4]byte + FaMap uintptr + FpIncr uintptr } /* sqlite3.c:21218:9 */ // Merge PMAs together type PmaReader = PmaReader1 /* sqlite3.c:95478:26 */ // Incrementally read one PMA type PmaWriter1 = struct { - FeFWErr int32 - _ [4]byte - FaBuffer uintptr - FnBuffer int32 - FiBufStart int32 - FiBufEnd int32 - _ [4]byte - FiWriteOff I64 - FpFd uintptr + FeFWErr int32 + F__ccgo_pad1 [4]byte + FaBuffer uintptr + FnBuffer int32 + FiBufStart int32 + FiBufEnd int32 + F__ccgo_pad2 [4]byte + FiWriteOff I64 + FpFd uintptr } /* sqlite3.c:95479:9 */ // Incrementally read one PMA type PmaWriter = PmaWriter1 /* sqlite3.c:95479:26 */ // Incrementally write one PMA type SorterRecord1 = struct { - FnVal int32 - _ [4]byte - Fu struct{ FpNext uintptr } + FnVal int32 + F__ccgo_pad1 [4]byte + Fu struct{ FpNext uintptr } } /* sqlite3.c:21218:9 */ // Incrementally write one PMA type SorterRecord = SorterRecord1 /* sqlite3.c:95480:29 */ // A record being sorted type SortSubtask1 = struct { - FpThread uintptr - FbDone int32 - _ [4]byte - FpSorter uintptr - FpUnpacked uintptr - Flist SorterList - FnPMA int32 - _ [4]byte - FxCompare SorterCompare - Ffile SorterFile - Ffile2 SorterFile + FpThread uintptr + FbDone int32 + F__ccgo_pad1 [4]byte + FpSorter uintptr + FpUnpacked uintptr + Flist SorterList + FnPMA int32 + F__ccgo_pad2 [4]byte + FxCompare SorterCompare + Ffile SorterFile + Ffile2 SorterFile } /* sqlite3.c:21218:9 */ // A record being sorted @@ -75762,23 +75993,23 @@ type SorterFile1 = struct { // A sub-task in the sort process type SorterFile = SorterFile1 /* sqlite3.c:95482:27 */ // Temporary file object wrapper type SorterList1 = struct { - FpList uintptr - FaMemory uintptr - FszPMA int32 - _ [4]byte + FpList uintptr + FaMemory uintptr + FszPMA int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:21218:9 */ // Temporary file object wrapper type SorterList = SorterList1 /* sqlite3.c:95483:27 */ // In-memory list of records type IncrMerger1 = struct { - FpTask uintptr - FpMerger uintptr - FiStartOff I64 - FmxSz int32 - FbEof int32 - FbUseThread int32 - _ [4]byte - FaFile [2]SorterFile + FpTask uintptr + FpMerger uintptr + FiStartOff I64 + FmxSz int32 + FbEof int32 + FbUseThread int32 + F__ccgo_pad1 [4]byte + FaFile [2]SorterFile } /* sqlite3.c:21218:9 */ // In-memory list of records @@ -76610,7 +76841,9 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp for { var res int32 - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp+8 /* &bCached */, ((p1) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p1)).FnVal, ((p2) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p2)).FnVal) if res <= 0 { @@ -76881,7 +77114,9 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } else if (*PmaReader)(unsafe.Pointer(pReadr2)).FpFd == uintptr(0) { iRes = -1 } else { - iRes = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, pTask, bp, /* &bCached */ + iRes = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp, /* &bCached */ (*PmaReader)(unsafe.Pointer(pReadr1)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr1)).FnKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FnKey) } @@ -77290,7 +77525,9 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql *(*int32)(unsafe.Pointer(bp /* bCached */)) = 0 var res int32 // from vdbeSortSubtaskMain() - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp /* &bCached */, (*PmaReader)(unsafe.Pointer(p1)).FaKey, (*PmaReader)(unsafe.Pointer(p1)).FnKey, (*PmaReader)(unsafe.Pointer(p2)).FaKey, (*PmaReader)(unsafe.Pointer(p2)).FnKey) if res <= 0 { iRes = i1 @@ -77948,7 +78185,7 @@ type bytecodevtab = struct { Fbase Sqlite3_vtab Fdb uintptr FbTablesUsed int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:98106:9 */ //************* End of vdbesort.c ******************************************* @@ -78368,16 +78605,16 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Forward references to internal structures type MemJournal1 = struct { - FpMethod uintptr - FnChunkSize int32 - FnSpill int32 - FpFirst uintptr - Fendpoint FilePoint - Freadpoint FilePoint - Fflags int32 - _ [4]byte - FpVfs uintptr - FzJournal uintptr + FpMethod uintptr + FnChunkSize int32 + FnSpill int32 + FpFirst uintptr + Fendpoint FilePoint + Freadpoint FilePoint + Fflags int32 + F__ccgo_pad1 [4]byte + FpVfs uintptr + FzJournal uintptr } /* sqlite3.c:98540:9 */ //************* End of vdbevtab.c ******************************************* @@ -78774,7 +79011,9 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. var rc int32 for 1 != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 8 /* &.xExprCallback */))))(tls, pWalker, pExpr) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxExprCallback})).f(tls, pWalker, pExpr) if rc != 0 { return (rc & WRC_Abort) } @@ -78958,7 +79197,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Continue } for ok := true; ok; ok = (p != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 16 /* &.xSelectCallback */))))(tls, pWalker, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback})).f(tls, pWalker, p) if rc != 0 { return (rc & WRC_Abort) } @@ -78967,7 +79208,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Abort } if (*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pWalker + 24 /* &.xSelectCallback2 */))))(tls, pWalker, p) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2})).f(tls, pWalker, p) } p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -80011,7 +80254,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99948:12: */ if *(*float64)(unsafe.Pointer(bp /* r */)) > 1.0 { return -1 } - return (int32(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) + return (libc.Int32FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) } // This routine is callback for sqlite3WalkExpr(). @@ -86574,7 +86817,9 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x (*Expr)(unsafe.Pointer(bp + 72 /* &compRight */)).FpRight = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) + 8 /* &.a */) + 1*32)).FpExpr exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+216 /* ®Free1 */)) if xJump != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&xJump)))(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, int32) + })(unsafe.Pointer(&struct{ uintptr }{xJump})).f(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) } else { // Mark the expression is being from the ON or USING clause of a join // so that the sqlite3ExprCodeTarget() routine will not attempt to move @@ -90719,25 +90964,25 @@ var aTable = [3]struct { // share an instance of the following structure to hold their state // information. type StatAccum1 = struct { - Fdb uintptr - FnEst TRowcnt - FnRow TRowcnt - FnLimit int32 - FnCol int32 - FnKeyCol int32 - FnSkipAhead U8 - _ [3]byte - Fcurrent StatSample - FnPSample TRowcnt - FmxSample int32 - FiPrn U32 - _ [4]byte - FaBest uintptr - FiMin int32 - FnSample int32 - FnMaxEqZero int32 - FiGet int32 - Fa uintptr + Fdb uintptr + FnEst TRowcnt + FnRow TRowcnt + FnLimit int32 + FnCol int32 + FnKeyCol int32 + FnSkipAhead U8 + F__ccgo_pad1 [3]byte + Fcurrent StatSample + FnPSample TRowcnt + FmxSample int32 + FiPrn U32 + F__ccgo_pad2 [4]byte + FaBest uintptr + FiMin int32 + FnSample int32 + FnMaxEqZero int32 + FiGet int32 + Fa uintptr } /* sqlite3.c:109861:9 */ // Recommended number of samples for sqlite_stat4 @@ -90747,15 +90992,15 @@ type StatAccum1 = struct { // information. type StatAccum = StatAccum1 /* sqlite3.c:109861:26 */ type StatSample1 = struct { - FanEq uintptr - FanDLt uintptr - FanLt uintptr - Fu struct{ FiRowid I64 } - FnRowid U32 - FisPSample U8 - _ [3]byte - FiCol int32 - FiHash U32 + FanEq uintptr + FanDLt uintptr + FanLt uintptr + Fu struct{ FiRowid I64 } + FnRowid U32 + FisPSample U8 + F__ccgo_pad1 [3]byte + FiCol int32 + FiHash U32 } /* sqlite3.c:109861:9 */ type StatSample = StatSample1 /* sqlite3.c:109862:27 */ @@ -93205,7 +93450,9 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return SQLITE_OK } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { var z uintptr = Xsqlite3_mprintf(tls, ts+10230 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { @@ -93293,7 +93540,9 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // The following testcase() macros show that any of the 3rd through 6th // parameters can be either NULL or a string. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { Xsqlite3ErrorMsg(tls, pParse, ts+14123 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH @@ -95745,7 +95994,9 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint if (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName == uintptr(0) { return 0 } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Module)(unsafe.Pointer(pMod)).FpModule + 184 /* &.xShadowName */))))(tls, ((zName + uintptr(nName)) + uintptr(1))) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName})).f(tls, ((zName + uintptr(nName)) + uintptr(1))) } // Return true if zName is a shadow table name in the current database @@ -99319,7 +99570,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq if !(zExternal != 0) { return } - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 368 /* &.xCollNeeded */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) Xsqlite3DbFree(tls, db, zExternal) } if (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 != 0 { @@ -99333,7 +99586,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq return uint8(SQLITE_UTF16LE) }()) if zExternal != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 376 /* &.xCollNeeded16 */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) } Xsqlite3ValueFree(tls, pTmp) } @@ -101278,7 +101533,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) > +4503599627370496.0) { // The value has no fractional part so there is nothing to round } else if n == 0 { - *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < float64(0) { return -0.5 } @@ -102354,12 +102609,12 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. type SumCtx1 = struct { - FrSum float64 - FiSum I64 - Fcnt I64 - Foverflow U8 - Fapprox U8 - _ [6]byte + FrSum float64 + FiSum I64 + Fcnt I64 + Foverflow U8 + Fapprox U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:120823:9 */ // An instance of the following structure holds the context of a @@ -105956,9 +106211,9 @@ func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng ui // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. type IndexListTerm1 = struct { - Fp uintptr - Fix int32 - _ [4]byte + Fp uintptr + Fix int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:124490:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit @@ -105975,8 +106230,8 @@ type IndexIterator1 = struct { FeType int32 Fi int32 Fu struct { - Flx struct{ FpIdx uintptr } - _ [8]byte + Flx struct{ FpIdx uintptr } + F__ccgo_pad1 [8]byte } } /* sqlite3.c:124491:9 */ @@ -106429,6 +106684,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: + } } @@ -107737,7 +107993,9 @@ __18: *(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0) __15: ; - if !((*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, pArg, nCol, azVals, azCols) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, pArg, nCol, azVals, azCols) != 0) { goto __20 } // EVIDENCE-OF: R-38229-40159 If the callback function to @@ -108342,7 +108600,9 @@ __21: __20: ; Xsqlite3_free(tls, zAltEntry) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) if !(rc != 0) { goto __23 } @@ -108447,9 +108707,9 @@ func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int3 // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. type sqlite3AutoExtList = struct { - FnExt U32 - _ [4]byte - FaExt uintptr + FnExt U32 + F__ccgo_pad1 [4]byte + FaExt uintptr } /* sqlite3.c:127641:9 */ // The following object holds the list of automatically loaded @@ -108570,7 +108830,9 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 } Xsqlite3_mutex_leave(tls, mutex) *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) - if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { + if (xInit != 0) && ((libc.AssignInt32(&rc, (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, ts+17994 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 @@ -108676,13 +108938,13 @@ var pragCName = [51]uintptr{ // Definitions of all built-in pragmas type PragmaName1 = struct { - FzName uintptr - FePragTyp U8 - FmPragFlg U8 - FiPragCName U8 - FnPragCName U8 - _ [4]byte - FiArg U64 + FzName uintptr + FePragTyp U8 + FmPragFlg U8 + FiPragCName U8 + FnPragCName U8 + F__ccgo_pad1 [4]byte + FiArg U64 } /* sqlite3.c:127960:9 */ // Definitions of all built-in pragmas @@ -112458,9 +112720,9 @@ pragma_out: } type EncName = struct { - FzName uintptr - Fenc U8 - _ [7]byte + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:130282:18 */ var iLn3 int32 = 0 /* sqlite3.c:128958:22 */ @@ -112521,12 +112783,12 @@ var azLockName = [5]uintptr{ // Implementation of an eponymous virtual table that runs a pragma. // type PragmaVtab1 = struct { - Fbase Sqlite3_vtab - Fdb uintptr - FpName uintptr - FnHidden U8 - FiHidden U8 - _ [6]byte + Fbase Sqlite3_vtab + Fdb uintptr + FpName uintptr + FnHidden U8 + FiHidden U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:130740:9 */ // **************************************************************************** @@ -113488,7 +113750,9 @@ func Xsqlite3ParserReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:131614:21 for (*Parse)(unsafe.Pointer(pParse)).FpCleanup != 0 { var pCleanup uintptr = (*Parse)(unsafe.Pointer(pParse)).FpCleanup (*Parse)(unsafe.Pointer(pParse)).FpCleanup = (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pCleanup + 16 /* &.xCleanup */))))(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup})).f(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) Xsqlite3DbFreeNN(tls, db, pCleanup) } Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaLabel) @@ -113542,7 +113806,9 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr (*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup } else { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&xCleanup)))(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xCleanup})).f(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) pPtr = uintptr(0) } return pPtr @@ -113954,11 +114220,11 @@ func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. type DistinctCtx1 = struct { - FisTnct U8 - FeTnctType U8 - _ [2]byte - FtabTnct int32 - FaddrTnct int32 + FisTnct U8 + FeTnctType U8 + F__ccgo_pad1 [2]byte + FtabTnct int32 + FaddrTnct int32 } /* sqlite3.c:132093:9 */ //************* End of prepare.c ******************************************** @@ -114008,7 +114274,7 @@ type SortCtx1 = struct { FlabelDone int32 FlabelOBLopt int32 FsortFlags U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr } /* sqlite3.c:132119:9 */ @@ -114030,9 +114296,9 @@ type SortCtx1 = struct { // extracted from the sorter. type SortCtx = SortCtx1 /* sqlite3.c:132119:24 */ type RowLoadInfo1 = struct { - FregResult int32 - FecelFlags U8 - _ [3]byte + FregResult int32 + FecelFlags U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:132119:9 */ // Delete all the content of a Select structure. Deallocate the structure @@ -117501,12 +117767,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. type SubstContext1 = struct { - FpParse uintptr - FiTable int32 - FiNewTable int32 - FisLeftJoin int32 - _ [4]byte - FpEList uintptr + FpParse uintptr + FiTable int32 + FiNewTable int32 + FisLeftJoin int32 + F__ccgo_pad1 [4]byte + FpEList uintptr } /* sqlite3.c:135643:9 */ // An instance of the SubstContext object describes an substitution edit @@ -121714,14 +121980,14 @@ select_end: // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. type TabResult1 = struct { - FazResult uintptr - FzErrMsg uintptr - FnAlloc U32 - FnRow U32 - FnColumn U32 - FnData U32 - Frc int32 - _ [4]byte + FazResult uintptr + FzErrMsg uintptr + FnAlloc U32 + FnRow U32 + FnColumn U32 + FnData U32 + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:139498:9 */ //************* End of select.c ********************************************* @@ -126146,7 +126412,7 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu Xsqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy) rc = Xsqlite3ApiExit(tls, db, rc) if (rc != SQLITE_OK) && (xDestroy != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, pAux) } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -126190,7 +126456,7 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { if (*Module)(unsafe.Pointer(pMod)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMod + 32 /* &.xDestroy */))))(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Module)(unsafe.Pointer(pMod)).FxDestroy})).f(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) } Xsqlite3DbFree(tls, db, pMod) @@ -126228,7 +126494,9 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:143352:21: var p uintptr = (*VTable)(unsafe.Pointer(pVTab)).FpVtab Xsqlite3VtabModuleUnref(tls, (*VTable)(unsafe.Pointer(pVTab)).Fdb, (*VTable)(unsafe.Pointer(pVTab)).FpMod) if p != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + 32 /* &.xDisconnect */))))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule)).FxDisconnect})).f(tls, p) } Xsqlite3DbFree(tls, db, pVTab) } @@ -126569,7 +126837,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FbDeclared = 0 (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32 /* &sCtx */ - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -126862,7 +127132,9 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) } (*Table)(unsafe.Pointer(pTab)).FnTabRef++ - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xDestroy)))(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) // Remove the sqlite3_vtab* from the aVTrans[] array, if applicable if rc == SQLITE_OK { @@ -126894,7 +127166,9 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14407 var x uintptr x = *(*uintptr)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + uintptr(offset)))) if x != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p) } } (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = 0 @@ -126920,7 +127194,9 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c var x uintptr var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aVTrans + uintptr(i)*8)))).FpVtab if (pVtab != 0) && ((libc.AssignUintptr(&x, (*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxSync)) != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, pVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pVtab) Xsqlite3VtabImportErrmsg(tls, p, pVtab) } } @@ -126978,13 +127254,17 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // sqlite3.aVTrans[] array. rc = growVTrans(tls, db) if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 112 /* &.xBegin */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxBegin})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) if rc == SQLITE_OK { var iSvpt int32 = ((*Sqlite3)(unsafe.Pointer(db)).FnStatement + (*Sqlite3)(unsafe.Pointer(db)).FnSavepoint) addToVTrans(tls, db, pVTab) if (iSvpt != 0) && ((*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint != 0) { (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = iSvpt - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pModule + 160 /* &.xSavepoint */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) } } } @@ -127031,7 +127311,9 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 break } if (xMethod != 0) && ((*VTable)(unsafe.Pointer(pVTab)).FiSavepoint > iSavepoint) { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xMethod)))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xMethod})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) } Xsqlite3VtabUnlock(tls, pVTab) } @@ -127090,7 +127372,9 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // Though undocumented, we have historically always invoked xFindFunction // with an all lower-case function name. Continue in this tradition to // avoid any chance of an incompatibility. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) if rc == 0 { return pDef } @@ -127318,16 +127602,16 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 // Forward references type WhereClause1 = struct { - FpWInfo uintptr - FpOuter uintptr - Fop U8 - FhasOr U8 - _ [2]byte - FnTerm int32 - FnSlot int32 - _ [4]byte - Fa uintptr - FaStatic [8]WhereTerm + FpWInfo uintptr + FpOuter uintptr + Fop U8 + FhasOr U8 + F__ccgo_pad1 [2]byte + FnTerm int32 + FnSlot int32 + F__ccgo_pad2 [4]byte + Fa uintptr + FaStatic [8]WhereTerm } /* sqlite3.c:14936:9 */ //************* End of vtab.c *********************************************** @@ -127405,9 +127689,9 @@ type WhereLevel1 = struct { Fp2 int32 Fu struct { Fin struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr + FnIn int32 + F__ccgo_pad1 [4]byte + FaInLoop uintptr } } FpWLoop uintptr @@ -127436,7 +127720,7 @@ type WhereLoop1 = struct { FnLTerm U16 FnSkip U16 FnLSlot U16 - _ [6]byte + F__ccgo_pad1 [6]byte FaLTerm uintptr FpNextLoop uintptr FaLTermSpace [3]uintptr @@ -127444,14 +127728,14 @@ type WhereLoop1 = struct { type WhereLoop = WhereLoop1 /* sqlite3.c:144522:26 */ type WherePath1 = struct { - FmaskLoop Bitmask - FrevLoop Bitmask - FnRow LogEst - FrCost LogEst - FrUnsorted LogEst - FisOrdered I8 - _ [1]byte - FaLoop uintptr + FmaskLoop Bitmask + FrevLoop Bitmask + FnRow LogEst + FrCost LogEst + FrUnsorted LogEst + FisOrdered I8 + F__ccgo_pad1 [1]byte + FaLoop uintptr } /* sqlite3.c:144523:9 */ type WherePath = WherePath1 /* sqlite3.c:144523:26 */ @@ -127466,8 +127750,8 @@ type WhereTerm1 = struct { FiParent int32 FleftCursor int32 Fu struct { - _ [0]uint64 - Fx struct { + F__ccgo_pad1 [0]uint64 + Fx struct { FleftColumn int32 FiField int32 } @@ -127478,50 +127762,50 @@ type WhereTerm1 = struct { type WhereTerm = WhereTerm1 /* sqlite3.c:144524:26 */ type WhereLoopBuilder1 = struct { - FpWInfo uintptr - FpWC uintptr - FpOrderBy uintptr - FpNew uintptr - FpOrSet uintptr - FpRec uintptr - FnRecValid int32 - FbldFlags1 uint8 - FbldFlags2 uint8 - _ [2]byte - FiPlanLimit uint32 - _ [4]byte + FpWInfo uintptr + FpWC uintptr + FpOrderBy uintptr + FpNew uintptr + FpOrSet uintptr + FpRec uintptr + FnRecValid int32 + FbldFlags1 uint8 + FbldFlags2 uint8 + F__ccgo_pad1 [2]byte + FiPlanLimit uint32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:144525:9 */ type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:144525:33 */ type WhereScan1 = struct { - FpOrigWC uintptr - FpWC uintptr - FzCollName uintptr - FpIdxExpr uintptr - Fidxaff uint8 - FnEquiv uint8 - FiEquiv uint8 - _ [1]byte - FopMask U32 - Fk int32 - FaiCur [11]int32 - FaiColumn [11]I16 - _ [2]byte + FpOrigWC uintptr + FpWC uintptr + FzCollName uintptr + FpIdxExpr uintptr + Fidxaff uint8 + FnEquiv uint8 + FiEquiv uint8 + F__ccgo_pad1 [1]byte + FopMask U32 + Fk int32 + FaiCur [11]int32 + FaiColumn [11]I16 + F__ccgo_pad2 [2]byte } /* sqlite3.c:144526:9 */ type WhereScan = WhereScan1 /* sqlite3.c:144526:26 */ type WhereOrCost1 = struct { - Fprereq Bitmask - FrRun LogEst - FnOut LogEst - _ [4]byte + Fprereq Bitmask + FrRun LogEst + FnOut LogEst + F__ccgo_pad1 [4]byte } /* sqlite3.c:144525:9 */ type WhereOrCost = WhereOrCost1 /* sqlite3.c:144527:28 */ type WhereOrSet1 = struct { - Fn U16 - _ [6]byte - Fa [3]WhereOrCost + Fn U16 + F__ccgo_pad1 [6]byte + Fa [3]WhereOrCost } /* sqlite3.c:144525:9 */ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ @@ -127540,12 +127824,12 @@ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ // the loop nested order, with WhereInfo.a[0] being the outer loop and // WhereInfo.a[WhereInfo.nLevel-1] being the inner loop. type InLoop = struct { - FiCur int32 - FaddrInTop int32 - FiBase int32 - FnPrefix int32 - FeEndLoopOp U8 - _ [3]byte + FiCur int32 + FaddrInTop int32 + FiBase int32 + FnPrefix int32 + FeEndLoopOp U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:144567:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -130089,7 +130373,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin pMod = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule if (*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction != uintptr(0) { - i = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) + i = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) if i >= SQLITE_INDEX_CONSTRAINT_FUNCTION { *(*uint8)(unsafe.Pointer(peOp2)) = uint8(i) *(*uintptr)(unsafe.Pointer(ppRight)) = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + 1*32)).FpExpr @@ -130133,9 +130419,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin } type Op2 = struct { - FzOp uintptr - FeOp2 uint8 - _ [7]byte + FzOp uintptr + FeOp2 uint8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ @@ -132582,7 +132868,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 var pVtab uintptr = (*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpVtab var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule + 24 /* &.xBestIndex */))))(tls, pVtab, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxBestIndex})).f(tls, pVtab, p) if (rc != SQLITE_OK) && (rc != SQLITE_CONSTRAINT) { if rc == SQLITE_NOMEM { @@ -136994,9 +137282,9 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * } { - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) - if int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp) != OP_Noop { - if (*InLoop)(unsafe.Pointer(pIn)).FnPrefix != 0 { + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) + if int32(*(*U8)(unsafe.Pointer(pIn + 16))) != OP_Noop { + if *(*int32)(unsafe.Pointer(pIn + 12)) != 0 { var bEarlyOut int32 = (libc.Bool32((((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_IN_EARLYOUT)) != U32(0)))) if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { @@ -137008,26 +137296,26 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * // return the null-row. So, if the cursor is not open yet, // jump over the OP_Next or OP_Prev instruction about to // be coded. - Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, (*InLoop)(unsafe.Pointer(pIn)).FiCur, + Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, *(*int32)(unsafe.Pointer(pIn)), ((Xsqlite3VdbeCurrentAddr(tls, v) + 2) + bEarlyOut)) } if bEarlyOut != 0 { Xsqlite3VdbeAddOp4Int(tls, v, OP_IfNoHope, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), - (*InLoop)(unsafe.Pointer(pIn)).FiBase, (*InLoop)(unsafe.Pointer(pIn)).FnPrefix) + *(*int32)(unsafe.Pointer(pIn + 8)), *(*int32)(unsafe.Pointer(pIn + 12))) // Retarget the OP_IsNull against the left operand of IN so // it jumps past the OP_IfNoHope. This is because the // OP_IsNull also bypasses the OP_Affinity opcode that is // required by OP_IfNoHope. - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) } } - Xsqlite3VdbeAddOp2(tls, v, int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp), (*InLoop)(unsafe.Pointer(pIn)).FiCur, (*InLoop)(unsafe.Pointer(pIn)).FaddrInTop) + Xsqlite3VdbeAddOp2(tls, v, int32(*(*U8)(unsafe.Pointer(pIn + 16))), *(*int32)(unsafe.Pointer(pIn)), *(*int32)(unsafe.Pointer(pIn + 4))) } - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop - 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) - 1)) } goto __2 @@ -137627,9 +137915,9 @@ func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155364:13: */ // Context object for last_value() window function. type LastValueCtx = struct { - FpVal uintptr - FnVal int32 - _ [4]byte + FpVal uintptr + FnVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155391:1 */ // Implementation of last_value(). @@ -137843,11 +138131,11 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin } type WindowUpdate = struct { - FzFunc uintptr - FeFrmType int32 - FeStart int32 - FeEnd int32 - _ [4]byte + FzFunc uintptr + FeFrmType int32 + FeStart int32 + FeEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155605:7 */ // Context object passed through sqlite3WalkExprList() to @@ -138635,18 +138923,18 @@ func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:156418:12: } type WindowCodeArg1 = struct { - FpParse uintptr - FpMWin uintptr - FpVdbe uintptr - FaddrGosub int32 - FregGosub int32 - FregArg int32 - FeDelete int32 - FregRowid int32 - Fstart WindowCsrAndReg - Fcurrent WindowCsrAndReg - Fend WindowCsrAndReg - _ [4]byte + FpParse uintptr + FpMWin uintptr + FpVdbe uintptr + FaddrGosub int32 + FregGosub int32 + FregArg int32 + FeDelete int32 + FregRowid int32 + Fstart WindowCsrAndReg + Fcurrent WindowCsrAndReg + Fend WindowCsrAndReg + F__ccgo_pad1 [4]byte } /* sqlite3.c:156423:9 */ type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:156423:30 */ @@ -140193,15 +140481,15 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin // // Then the "b" IdList records the list "a,b,c". type TrigEvent = struct { - Fa int32 - _ [4]byte - Fb uintptr + Fa int32 + F__ccgo_pad1 [4]byte + Fb uintptr } /* sqlite3.c:158068:1 */ type FrameBound = struct { - FeType int32 - _ [4]byte - FpExpr uintptr + FeType int32 + F__ccgo_pad1 [4]byte + FpExpr uintptr } /* sqlite3.c:158070:1 */ // Disable lookaside memory allocation for objects that might be @@ -140392,9 +140680,9 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT // YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type YYMINORTYPE = struct { - _ [0]uint64 - Fyyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Fyyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:158494:3 */ //************ End control #defines ****************************************** @@ -141263,10 +141551,10 @@ var yyFallback = [184]uint16{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type yyStackEntry = struct { - Fstateno uint16 - Fmajor uint16 - _ [4]byte - Fminor YYMINORTYPE + Fstateno uint16 + Fmajor uint16 + F__ccgo_pad1 [4]byte + Fminor YYMINORTYPE } /* sqlite3.c:159404:1 */ type YyStackEntry = yyStackEntry /* sqlite3.c:159411:29 */ @@ -146805,7 +147093,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:166213 if pDestructor != 0 { (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef-- if (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef == 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pDestructor + 8 /* &.xDestroy */))))(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDestructor)(unsafe.Pointer(pDestructor)).FxDestroy})).f(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) Xsqlite3DbFree(tls, db, pDestructor) } } @@ -146867,7 +147155,9 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_CLOSE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) } // Force xDisconnect calls on all virtual tables @@ -147016,7 +147306,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // Invoke any destructors registered for collation sequence user data. for j = 0; j < 3; j++ { if (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pColl + uintptr(j)*40 + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl + uintptr(j)*40)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) } } Xsqlite3DbFree(tls, db, pColl) @@ -147097,7 +147387,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // If one has been configured, invoke the rollback-hook callback if ((*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback != 0) && ((inTrans != 0) || !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0)) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((db + 296 /* &.xRollbackCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) } } @@ -147505,7 +147795,9 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:16 if ((*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0)) || ((*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0) { return 0 } - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((p /* &.xBusyHandler */))))(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler})).f(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) if rc == 0 { (*BusyHandler)(unsafe.Pointer(p)).FnBusy = -1 } else { @@ -147689,7 +147981,7 @@ func createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc goto __2 } Xsqlite3OomFault(tls, db) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) goto out __2: ; @@ -147704,7 +147996,7 @@ __1: goto __3 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) Xsqlite3_free(tls, pArg) __3: ; @@ -148228,7 +148520,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint var p uintptr = (aColl + uintptr(j)*40) if int32((*CollSeq)(unsafe.Pointer(p)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { if (*CollSeq)(unsafe.Pointer(p)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(p)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) } (*CollSeq)(unsafe.Pointer(p)).FxCmp = uintptr(0) } @@ -148656,9 +148948,9 @@ __43: } type OpenMode = struct { - Fz uintptr - Fmode int32 - _ [4]byte + Fz uintptr + Fmode int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ @@ -149607,7 +149899,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { var x int32 = 0 - rc = libc.AtomicLoadInt32(&x) + rc = x break } @@ -150319,7 +150611,9 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // The blocking transaction has been concluded. Or there never was a // blocking transaction. In either case, invoke the notify callback // immediately. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xNotify)))(tls, bp /* &pArg */, 1) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xNotify})).f(tls, bp /* &pArg */, 1) } else { var p uintptr @@ -150406,7 +150700,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 if (*Sqlite3)(unsafe.Pointer(p)).FpUnlockConnection == db { if ((*Sqlite3)(unsafe.Pointer(p)).FxUnlockNotify != xUnlockNotify) && (nArg != 0) { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } @@ -150444,7 +150740,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 // reduce the applications ability to prioritize multiple // connections. But it is the best that can be done under the // circumstances. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } } @@ -150468,7 +150766,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 } if nArg != 0 { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) } Xsqlite3_free(tls, aDyn) leaveMutex(tls) // Leave STATIC_MAIN mutex @@ -151097,39 +151397,39 @@ var jsonIsSpace = [256]uint8{ // Objects type JsonString1 = struct { - FpCtx uintptr - FzBuf uintptr - FnAlloc U64 - FnUsed U64 - FbStatic U8 - FbErr U8 - FzSpace [100]uint8 - _ [2]byte + FpCtx uintptr + FzBuf uintptr + FnAlloc U64 + FnUsed U64 + FbStatic U8 + FbErr U8 + FzSpace [100]uint8 + F__ccgo_pad1 [2]byte } /* sqlite3.c:189736:9 */ // Objects type JsonString = JsonString1 /* sqlite3.c:189736:27 */ type JsonNode1 = struct { - FeType U8 - FjnFlags U8 - _ [2]byte - Fn U32 - Fu struct{ FzJContent uintptr } + FeType U8 + FjnFlags U8 + F__ccgo_pad1 [2]byte + Fn U32 + Fu struct{ FzJContent uintptr } } /* sqlite3.c:189737:9 */ type JsonNode = JsonNode1 /* sqlite3.c:189737:25 */ type JsonParse1 = struct { - FnNode U32 - FnAlloc U32 - FaNode uintptr - FzJson uintptr - FaUp uintptr - Foom U8 - FnErr U8 - FiDepth U16 - FnJson int32 - FiHold U32 - _ [4]byte + FnNode U32 + FnAlloc U32 + FaNode uintptr + FzJson uintptr + FaUp uintptr + Foom U8 + FnErr U8 + FiDepth U16 + FnJson int32 + FiHold U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:189738:9 */ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ @@ -153300,17 +153600,17 @@ func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:191673:13: */ // The json_each virtual table // type JsonEachCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FiRowid U32 - FiBegin U32 - Fi U32 - FiEnd U32 - FeType U8 - FbRecursive U8 - _ [6]byte - FzJson uintptr - FzRoot uintptr - FsParse JsonParse + Fbase Sqlite3_vtab_cursor + FiRowid U32 + FiBegin U32 + Fi U32 + FiEnd U32 + FeType U8 + FbRecursive U8 + F__ccgo_pad1 [6]byte + FzJson uintptr + FzRoot uintptr + FsParse JsonParse } /* sqlite3.c:191683:9 */ // *************************************************************************** @@ -153843,12 +154143,12 @@ func Xsqlite3Json1Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:192174:20 aFunc[i].FxFunc, uintptr(0), uintptr(0)) } for i = uint32(0); (uint64(i) < (uint64(unsafe.Sizeof(aAgg)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{})))) && (rc == SQLITE_OK); i++ { rc = Xsqlite3_create_window_function(tls, db, aAgg[i].FzName, aAgg[i].FnArg, (SQLITE_SUBTYPE | enc), uintptr(0), @@ -153889,12 +154189,12 @@ var aFunc = [15]struct { {FzName: ts + 29322 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { - FzName uintptr - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{ {FzName: ts + 29333 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, @@ -153928,19 +154228,19 @@ type Rtree1 = struct { FinWrTrans U8 FnAux U8 FnAuxNotNull U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiDepth int32 FzDb uintptr FzName uintptr FnBusy U32 - _ [4]byte + F__ccgo_pad2 [4]byte FnRowEst I64 FnCursor U32 FnNodeRef U32 FzReadAuxSql uintptr FpDeleted uintptr FiReinsertHeight int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpNodeBlob uintptr FpWriteNode uintptr FpDeleteNode uintptr @@ -153969,21 +154269,21 @@ type RtreeCursor1 = struct { FatEOF U8 FbPoint U8 FbAuxValid U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiStrategy int32 FnConstraint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaConstraint uintptr FnPointAlloc int32 FnPoint int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaPoint uintptr FpReadAux uintptr FsPoint RtreeSearchPoint FaNode [5]uintptr FanQueue [41]U32 - _ [4]byte + F__ccgo_pad4 [4]byte } /* sqlite3.c:192363:9 */ type RtreeCursor = RtreeCursor1 /* sqlite3.c:192363:28 */ @@ -154012,13 +154312,13 @@ type RtreeConstraint1 = struct { type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:192366:32 */ type RtreeMatchArg1 = struct { - FiSize U32 - _ [4]byte - Fcb RtreeGeomCallback - FnParam int32 - _ [4]byte - FapSqlParam uintptr - FaParam [1]RtreeDValue + FiSize U32 + F__ccgo_pad1 [4]byte + Fcb RtreeGeomCallback + FnParam int32 + F__ccgo_pad2 [4]byte + FapSqlParam uintptr + FaParam [1]RtreeDValue } /* sqlite3.c:192367:9 */ type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:192367:30 */ @@ -154034,12 +154334,12 @@ type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:192365:9 */ type RtreeCoord = RtreeCoord1 /* sqlite3.c:192369:26 */ type RtreeSearchPoint1 = struct { - FrScore RtreeDValue - Fid Sqlite3_int64 - FiLevel U8 - FeWithin U8 - FiCell U8 - _ [5]byte + FrScore RtreeDValue + Fid Sqlite3_int64 + FiLevel U8 + FeWithin U8 + FiCell U8 + F__ccgo_pad1 [5]byte } /* sqlite3.c:192363:9 */ type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:192370:33 */ @@ -154547,7 +154847,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:193357:13: */ var pInfo uintptr = (*RtreeConstraint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(pCsr)).FaConstraint + uintptr(i)*24)).FpInfo if pInfo != 0 { if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 32 /* &.xDelUser */))))(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser})).f(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) } Xsqlite3_free(tls, pInfo) } @@ -154683,7 +154983,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe } if (*RtreeConstraint)(unsafe.Pointer(pConstraint)).Fop == RTREE_MATCH { *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) = 0 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xGeom */))))(tls, pInfo, + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo, nCoord, bp+8 /* &aCoord[0] */, bp+88 /* &eWithin */) if *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) == 0 { *(*int32)(unsafe.Pointer(peWithin)) = NOT_WITHIN @@ -154694,7 +154996,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FiLevel = (int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FiLevel) - 1) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FrScore = libc.AssignPtrFloat64(pInfo+80 /* &.rParentScore */, (*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FrScore) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin = libc.AssignPtrInt32(pInfo+88 /* &.eParentWithin */, int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FeWithin)) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xQueryFunc */))))(tls, pInfo) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo) if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin < *(*int32)(unsafe.Pointer(peWithin)) { *(*int32)(unsafe.Pointer(peWithin)) = (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin } @@ -156080,7 +156384,9 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe (*RtreeNode)(unsafe.Pointer(pChild)).FpParent = pNode } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32)(unsafe.Pointer(&xSetMapping)))(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:194817:12: */ @@ -157709,10 +158015,10 @@ type RtreeCheck1 = struct { FnLeaf int32 FnNonLeaf int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzReport uintptr FnErr int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:196179:9 */ // Context object passed between the various routines that make up the @@ -158261,12 +158567,12 @@ type GeoPoly = GeoPoly1 /* sqlite3.c:196759:24 */ // State of a parse of a GeoJSON input. type GeoParse1 = struct { - Fz uintptr - FnVertex int32 - FnAlloc int32 - FnErr int32 - _ [4]byte - Fa uintptr + Fz uintptr + FnVertex int32 + FnAlloc int32 + FnErr int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* sqlite3.c:196782:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient @@ -159164,25 +159470,25 @@ func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // Objects used by the overlap algorihm. type GeoEvent1 = struct { - Fx float64 - FeType int32 - _ [4]byte - FpSeg uintptr - FpNext uintptr + Fx float64 + FeType int32 + F__ccgo_pad1 [4]byte + FpSeg uintptr + FpNext uintptr } /* sqlite3.c:197516:9 */ // Objects used by the overlap algorihm. type GeoEvent = GeoEvent1 /* sqlite3.c:197516:25 */ type GeoSegment1 = struct { - FC float64 - FB float64 - Fy float64 - Fy0 float32 - Fside uint8 - _ [3]byte - Fidx uint32 - _ [4]byte - FpNext uintptr + FC float64 + FB float64 + Fy float64 + Fy0 float32 + Fside uint8 + F__ccgo_pad1 [3]byte + Fidx uint32 + F__ccgo_pad2 [4]byte + FpNext uintptr } /* sqlite3.c:197516:9 */ type GeoSegment = GeoSegment1 /* sqlite3.c:197517:27 */ @@ -160294,11 +160600,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 var rc int32 = SQLITE_OK var i int32 for i = 0; (uint64(i) < (uint64(unsafe.Sizeof(aFunc1)) / uint64(unsafe.Sizeof(struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{})))) && (rc == SQLITE_OK); i++ { var enc int32 if aFunc1[i].FbPure != 0 { @@ -160326,11 +160632,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 } var aFunc1 = [12]struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{ {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32001 /* "geopoly_area" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32014 /* "geopoly_blob" */}, @@ -160399,7 +160705,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:198508:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 16 /* &.xDestructor */))))(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) } Xsqlite3_free(tls, p) } @@ -160899,16 +161205,16 @@ func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr type sqlite3rbu = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FdbMain uintptr FdbRbu uintptr FzTarget uintptr FzRbu uintptr FzState uintptr FzStateDb [5]uint8 - _ [3]byte + F__ccgo_pad2 [3]byte Frc int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzErrmsg uintptr FnStep int32 FnProgress int32 @@ -160916,7 +161222,7 @@ type sqlite3rbu = struct { FzVfsName uintptr FpTargetFd uintptr FnPagePerSector int32 - _ [4]byte + F__ccgo_pad4 [4]byte FiOalSz I64 FnPhaseOneStep I64 FiMaxFrame U32 @@ -160925,13 +161231,13 @@ type sqlite3rbu = struct { FnFrameAlloc int32 FaFrame uintptr Fpgsz int32 - _ [4]byte + F__ccgo_pad5 [4]byte FaBuf uintptr FiWalCksum I64 FszTemp I64 FszTempLimit I64 FnRbu int32 - _ [4]byte + F__ccgo_pad6 [4]byte FpRbuFd uintptr } /* sqlite3.c:199829:9 */ @@ -161457,60 +161763,60 @@ type RbuFrame1 = struct { type RbuFrame = RbuFrame1 /* sqlite3.c:200253:25 */ type RbuObjIter1 = struct { - FpTblIter uintptr - FpIdxIter uintptr - FnTblCol int32 - _ [4]byte - FazTblCol uintptr - FazTblType uintptr - FaiSrcOrder uintptr - FabTblPk uintptr - FabNotNull uintptr - FabIndexed uintptr - FeType int32 - FbCleanup int32 - FzTbl uintptr - FzDataTbl uintptr - FzIdx uintptr - FiTnum int32 - FiPkTnum int32 - FbUnique int32 - FnIndex int32 - FnCol int32 - _ [4]byte - FpSelect uintptr - FpInsert uintptr - FpDelete uintptr - FpTmpInsert uintptr - FnIdxCol int32 - _ [4]byte - FaIdxCol uintptr - FzIdxSql uintptr - FpRbuUpdate uintptr + FpTblIter uintptr + FpIdxIter uintptr + FnTblCol int32 + F__ccgo_pad1 [4]byte + FazTblCol uintptr + FazTblType uintptr + FaiSrcOrder uintptr + FabTblPk uintptr + FabNotNull uintptr + FabIndexed uintptr + FeType int32 + FbCleanup int32 + FzTbl uintptr + FzDataTbl uintptr + FzIdx uintptr + FiTnum int32 + FiPkTnum int32 + FbUnique int32 + FnIndex int32 + FnCol int32 + F__ccgo_pad2 [4]byte + FpSelect uintptr + FpInsert uintptr + FpDelete uintptr + FpTmpInsert uintptr + FnIdxCol int32 + F__ccgo_pad3 [4]byte + FaIdxCol uintptr + FzIdxSql uintptr + FpRbuUpdate uintptr } /* sqlite3.c:199829:9 */ type RbuObjIter = RbuObjIter1 /* sqlite3.c:200254:27 */ type RbuState1 = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzTbl uintptr FzDataTbl uintptr FzIdx uintptr FiWalCksum I64 FnRow int32 - _ [4]byte + F__ccgo_pad2 [4]byte FnProgress I64 FiCookie U32 - _ [4]byte + F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 } /* sqlite3.c:200255:9 */ type RbuState = RbuState1 /* sqlite3.c:200255:25 */ type RbuSpan1 = struct { - FzSpan uintptr - FnSpan int32 - _ [4]byte + FzSpan uintptr + FnSpan int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:199829:9 */ type RbuSpan = RbuSpan1 /* sqlite3.c:200256:24 */ @@ -161534,7 +161840,7 @@ type rbu_file = struct { FiCookie U32 FiWriteVer U8 FbNolock U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnShm int32 FapShm uintptr FzDel uintptr @@ -162317,6 +162623,7 @@ __15: goto __14 goto __16 __16: + } // This is a helper function for rbuObjIterCacheTableInfo(). It populates @@ -164071,9 +164378,11 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:203029:12: */ var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // var ptr uintptr at bp, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = ((I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 11*4)))) + iRet = ((I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 11*4)))) } } return iRet @@ -164162,7 +164471,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal var pWal uintptr = (*Rbu_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal - nSectorSize = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 88 /* &.xSectorSize */))))(tls, pDb) + nSectorSize = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSectorSize})).f(tls, pDb) if nSectorSize > (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = (nSectorSize / (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz) } else { @@ -164173,7 +164484,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // directory in which the target database and the wal file reside, in // case it has not been synced since the rename() call in // rbuMoveOalFile(). - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 40 /* &.xSync */))))(tls, pWal, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})).f(tls, pWal, SQLITE_SYNC_NORMAL) } } } @@ -164234,22 +164547,30 @@ func rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) { /* sqlite3.c var iOff I64 iOff = ((((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame - U32(1))) * (I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz + 24))) + int64(32)) + int64(24)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 16 /* &.xRead */))))(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})).f(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return } iOff = ((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiDbPage - U32(1))) * I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 24 /* &.xWrite */))))(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})).f(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) } // Take an EXCLUSIVE lock on the database file. func rbuLockDatabase(tls *libc.TLS, p uintptr) { /* sqlite3.c:203202:13: */ var pReal uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_SHARED) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_SHARED) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_EXCLUSIVE) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_EXCLUSIVE) } } @@ -164756,15 +165077,19 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // Sync the db file - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) // Update nBackfill if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // var ptr uintptr at bp+16, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* ptr */))) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -164869,7 +165194,9 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zOal, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zOal, 0) Xsqlite3_free(tls, zOal) } } @@ -165246,7 +165573,9 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Sync the db file if currently doing an incremental checkpoint if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) @@ -165370,7 +165699,9 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 // Sync the db file if (rc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -165466,7 +165797,9 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:204477:13: */ var i int32 for i = 0; i < SQLITE_SHM_NLOCK; i++ { if ((U32(int32(1) << i)) & (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock) != 0 { - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xShmLock)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) } } (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock = U32(0) @@ -165570,13 +165903,17 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204569:12: * if ((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0 { rbuMainlistRemove(tls, p) rbuUnlockShm(tls, p) - (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) } else if (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_DELETEONCLOSE) != 0) && ((*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0) { rbuUpdateTempSize(tls, p, int64(0)) } // Close the underlying file handle - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 8 /* &.xClose */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) return rc } @@ -165619,7 +165956,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq rc = SQLITE_OK libc.Xmemset(tls, zBuf, 0, uint64(iAmt)) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 16 /* &.xRead */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) // If this is being called to read the first page of the target // database as part of an rbu vacuum operation, synthesize the // contents of the first page if it does not yet exist. Otherwise, @@ -165629,7 +165968,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0)) && ((*Sqlite3rbu)(unsafe.Pointer(pRbu)).Frc == SQLITE_OK) { var pFd uintptr = (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpRbuFd - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods + 16 /* &.xRead */))))(tls, pFd, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FxRead})).f(tls, pFd, zBuf, iAmt, iOfst) if rc == SQLITE_OK { var aBuf uintptr = zBuf var iRoot U32 @@ -165688,7 +166029,9 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } } } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 24 /* &.xWrite */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) if ((rc == SQLITE_OK) && (iOfst == int64(0))) && (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0) { // These look like magic numbers. But they are stable, as they are part // of the definition of the SQLite file format, which may not change. @@ -165709,7 +166052,9 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* return rc } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 32 /* &.xTruncate */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) } // Sync an rbuVfs-file. @@ -165721,14 +166066,18 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xSync */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) } // Return the current file-size of an rbuVfs-file. func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:204763:12: */ var p uintptr = pFile var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 48 /* &.xFileSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) // If this is an RBU vacuum operation and this is the target database, // pretend that it has at least one page. Otherwise, SQLite will not @@ -165754,7 +166103,9 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // prevents it from checkpointing the database from sqlite3_close(). rc = SQLITE_BUSY } else { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 56 /* &.xLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } return rc @@ -165763,13 +166114,17 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // Unlock an rbuVfs-file. func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:204806:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xUnlock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:204814:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) } // File control method. For custom operations on an rbuVfs-file. @@ -165787,13 +166142,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // First try to find another RBU vfs lower down in the vfs stack. If // one is found, this vfs will operate in pass-through mode. The lower // level vfs will do the special RBU handling. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if rc == SQLITE_NOTFOUND { // Now search for a zipvfs instance lower down in the VFS stack. If // one is found, this is an error. *(*uintptr)(unsafe.Pointer(bp + 16 /* dummy */)) = uintptr(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36579 /* "rbu/zipvfs setup..." */, 0) @@ -165815,7 +166174,9 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int (*Rbu_file)(unsafe.Pointer(p)).FbNolock = U8(1) } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg)) @@ -165832,13 +166193,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // Return the sector-size in bytes for an rbuVfs-file. func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204878:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 88 /* &.xSectorSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Return the device characteristic flags supported by an rbuVfs-file. func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204886:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Take or release a shared-memory lock. @@ -165862,7 +166227,9 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 bCapture = 1 } if (bCapture == 0) || (0 == (flags & SQLITE_SHM_UNLOCK)) { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) if (bCapture != 0) && (rc == SQLITE_OK) { *(*U32)(unsafe.Pointer(pRbu + 316 /* &.mLock */)) |= (U32(((int32(1) << n) - 1) << ofst)) } @@ -165915,13 +166282,15 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } if rc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) } else { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) } } else { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) } return rc @@ -165930,7 +166299,7 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i // Memory barrier. func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:204990:13: */ var p uintptr = pFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. @@ -165949,7 +166318,9 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } else { // Release the checkpointer and writer locks rbuUnlockShm(tls, p) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) } return rc } @@ -166004,7 +166375,9 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 40 /* &.xOpen */))))(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxOpen})).f(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) } if (*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pFd)).FpReal)).FpMethods != 0 { // The xOpen() operation has succeeded. Set the sqlite3_file.pMethods @@ -166044,7 +166417,9 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ // Delete the file located at zPath. func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:205115:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 48 /* &.xDelete */))))(tls, pRealVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDelete})).f(tls, pRealVfs, zPath, dirSync) } // Test for access permissions. Return true if the requested permission @@ -166057,7 +166432,9 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 56 /* &.xAccess */))))(tls, pRealVfs, zPath, flags, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxAccess})).f(tls, pRealVfs, zPath, flags, pResOut) // If this call is to check if a *-wal file associated with an RBU target // database connection exists, and the RBU update is in RBU_STAGE_OAL, @@ -166094,13 +166471,17 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // of at least (DEVSYM_MAX_PATHNAME+1) bytes. func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:205172:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 64 /* &.xFullPathname */))))(tls, pRealVfs, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxFullPathname})).f(tls, pRealVfs, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:205186:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 72 /* &.xDlOpen */))))(tls, pRealVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlOpen})).f(tls, pRealVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable @@ -166108,39 +166489,51 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // with dynamic libraries. func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:205196:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pRealVfs + 80 /* &.xDlError */))))(tls, pRealVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlError})).f(tls, pRealVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:205204:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 88 /* &.xDlSym */))))(tls, pRealVfs, pArg, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlSym})).f(tls, pRealVfs, pArg, zSym) } // Close the dynamic library handle pHandle. func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:205216:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pRealVfs + 96 /* &.xDlClose */))))(tls, pRealVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlClose})).f(tls, pRealVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:205226:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 104 /* &.xRandomness */))))(tls, pRealVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxRandomness})).f(tls, pRealVfs, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:205235:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 112 /* &.xSleep */))))(tls, pRealVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxSleep})).f(tls, pRealVfs, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:205243:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pRealVfs + 120 /* &.xCurrentTime */))))(tls, pRealVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxCurrentTime})).f(tls, pRealVfs, pTimeOut) } // No-op. @@ -166313,50 +166706,50 @@ var zDbstatSchema = // Forward reference to data structured used in this module type StatTable1 = struct { - Fbase Sqlite3_vtab - Fdb uintptr - FiDb int32 - _ [4]byte + Fbase Sqlite3_vtab + Fdb uintptr + FiDb int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:205445:9 */ // Forward reference to data structured used in this module type StatTable = StatTable1 /* sqlite3.c:205445:26 */ type StatCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FpStmt uintptr - FisEof U8 - FisAgg U8 - _ [2]byte - FiDb int32 - FaPage [32]StatPage - FiPage int32 - FiPageno U32 - FzName uintptr - FzPath uintptr - FzPagetype uintptr - FnPage int32 - FnCell int32 - FnMxPayload int32 - _ [4]byte - FnUnused I64 - FnPayload I64 - FiOffset I64 - FszPage I64 + Fbase Sqlite3_vtab_cursor + FpStmt uintptr + FisEof U8 + FisAgg U8 + F__ccgo_pad1 [2]byte + FiDb int32 + FaPage [32]StatPage + FiPage int32 + FiPageno U32 + FzName uintptr + FzPath uintptr + FzPagetype uintptr + FnPage int32 + FnCell int32 + FnMxPayload int32 + F__ccgo_pad2 [4]byte + FnUnused I64 + FnPayload I64 + FiOffset I64 + FszPage I64 } /* sqlite3.c:205446:9 */ type StatCursor = StatCursor1 /* sqlite3.c:205446:27 */ type StatPage1 = struct { FiPgno U32 - _ [4]byte + F__ccgo_pad1 [4]byte FpPg uintptr FiCell int32 - _ [4]byte + F__ccgo_pad2 [4]byte FzPath uintptr Fflags U8 - _ [3]byte + F__ccgo_pad3 [3]byte FnCell int32 FnUnused int32 - _ [4]byte + F__ccgo_pad4 [4]byte FaCell uintptr FiRightChildPg U32 FnMxPayload int32 @@ -166364,13 +166757,13 @@ type StatPage1 = struct { type StatPage = StatPage1 /* sqlite3.c:205447:25 */ type StatCell1 = struct { - FnLocal int32 - FiChildPg U32 - FnOvfl int32 - _ [4]byte - FaOvfl uintptr - FnLastOvfl int32 - FiOvfl int32 + FnLocal int32 + FiChildPg U32 + FnOvfl int32 + F__ccgo_pad1 [4]byte + FaOvfl uintptr + FnLastOvfl int32 + FiOvfl int32 } /* sqlite3.c:205446:9 */ type StatCell = StatCell1 /* sqlite3.c:205448:25 */ @@ -167789,14 +168182,14 @@ type SessionTable1 = struct { type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ type SessionChange1 = struct { - Fop U8 - FbIndirect U8 - _ [2]byte - FnMaxSize int32 - FnRecord int32 - _ [4]byte - FaRecord uintptr - FpNext uintptr + Fop U8 + FbIndirect U8 + F__ccgo_pad1 [2]byte + FnMaxSize int32 + FnRecord int32 + F__ccgo_pad2 [4]byte + FaRecord uintptr + FpNext uintptr } /* sqlite3.c:11155:9 */ type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ @@ -167808,18 +168201,18 @@ type SessionBuffer1 = struct { type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ type SessionInput1 = struct { - FbNoDiscard int32 - FiCurrent int32 - FiNext int32 - _ [4]byte - FaData uintptr - FnData int32 - _ [4]byte - Fbuf SessionBuffer - FxInput uintptr - FpIn uintptr - FbEof int32 - _ [4]byte + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaData uintptr + FnData int32 + F__ccgo_pad2 [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + F__ccgo_pad3 [4]byte } /* sqlite3.c:11163:9 */ type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ @@ -168065,9 +168458,13 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // var pVal uintptr at bp, 8 if bNew != 0 { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } if rc != SQLITE_OK { return rc @@ -168386,10 +168783,14 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // this (that the method has already been called). if op == SQLITE_INSERT { // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } else { // assert( db->pPreUpdate->pUnpacked ); - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { @@ -168673,7 +169074,9 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxOld})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob } @@ -168687,7 +169090,9 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxNew})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob } @@ -168697,12 +169102,16 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ var p uintptr = pCtx - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ var p uintptr = pCtx - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ @@ -168715,7 +169124,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt var ii int32 for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) } } @@ -168732,7 +169143,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt var nOld int32 = 0 var eType int32 *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { return SQLITE_NOMEM } @@ -168860,7 +169273,9 @@ __2: // Check the number of columns in this xPreUpdate call matches the // number of columns in the table. - if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { goto __3 } (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA @@ -168963,14 +169378,18 @@ __16: if !(op != SQLITE_INSERT) { goto __19 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) goto __20 __19: if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { goto __21 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) __21: ; @@ -169022,13 +169441,17 @@ __25: if !(op != SQLITE_INSERT) { goto __28 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) goto __29 __28: if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { goto __30 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) __30: ; __29: @@ -169043,7 +169466,9 @@ __27: ; // Add the change to the hash-table - if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { goto __31 } (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) @@ -169061,7 +169486,9 @@ __14: } // If the existing change is considered "indirect", but this current // change is "direct", mark the change object as direct. - if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + if !(((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { goto __33 } @@ -169113,7 +169540,9 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint // If there is a table-filter configured, invoke it. If it returns 0, // do not automatically add the new table. if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || - ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + ((*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { rc = Xsqlite3session_attach(tls, pSession, zName) if rc == SQLITE_OK { for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { @@ -169198,9 +169627,9 @@ func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:20816 } type SessionDiffCtx1 = struct { - FpStmt uintptr - FnOldOff int32 - _ [4]byte + FpStmt uintptr + FnOldOff int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:208177:9 */ type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ @@ -170325,7 +170754,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) nNoop = -1 (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 } @@ -170347,7 +170778,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) } } @@ -170548,7 +170981,9 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli sessionDiscardData(tls, pIn) } if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionInput)(unsafe.Pointer(pIn)).FxInput})).f(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 } else { @@ -171415,7 +171850,9 @@ __6: if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { goto __28 } - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { goto __29 @@ -171440,7 +171877,9 @@ __30: if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { goto __32 } - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) __32: ; __31: @@ -171501,7 +171940,7 @@ type SessionApplyCtx1 = struct { FpInsert uintptr FpSelect uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabPK uintptr FaUpdateMask uintptr @@ -171509,12 +171948,12 @@ type SessionApplyCtx1 = struct { FbStat1 int32 FbDeferConstraints int32 FbInvertConstraints int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fconstraints SessionBuffer Frebase SessionBuffer FbRebaseStarted U8 FbRebase U8 - _ [6]byte + F__ccgo_pad3 [6]byte } /* sqlite3.c:210362:9 */ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ @@ -171860,7 +172299,9 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { // var pVal uintptr at bp, 8 - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp /* &pVal */) if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. @@ -172029,7 +172470,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { // There exists another row with the new.* primary key. (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, eType, pIter) (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { @@ -172042,7 +172485,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr return SQLITE_OK } else { // No other row with the new.* primary key. - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, (eType + 1), pIter) if res == SQLITE_CHANGESET_REPLACE { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE } @@ -172397,7 +172842,9 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // If an xFilter() callback was specified, invoke it now. If the // xFilter callback returns zero, skip this table. If it returns // non-zero, proceed. - schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xFilter})).f(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) if schemaMismatch != 0 { *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { @@ -172488,7 +172935,9 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) if res != SQLITE_CHANGESET_OMIT { rc = SQLITE_CONSTRAINT } @@ -172899,7 +173348,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 } } @@ -172909,7 +173360,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { if xOutput != 0 { if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) } } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf @@ -173250,7 +173703,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) } if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 } if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { @@ -173266,7 +173721,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { if xOutput != 0 { if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) } } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf @@ -173517,14 +173974,14 @@ type Fts5Config1 = struct { FzDb uintptr FzName uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabUnindexed uintptr FnPrefix int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaPrefix uintptr FeContent int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzContent uintptr FzContentRowid uintptr FbColumnsize int32 @@ -173579,13 +174036,13 @@ type Fts5Buffer1 = struct { type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:213265:27 */ type Fts5PoslistReader1 = struct { - Fa uintptr - Fn int32 - Fi int32 - FbFlag U8 - FbEof U8 - _ [6]byte - FiPos I64 + Fa uintptr + Fn int32 + Fi int32 + FbFlag U8 + FbEof U8 + F__ccgo_pad1 [6]byte + FiPos I64 } /* sqlite3.c:213118:9 */ type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:213301:34 */ @@ -173613,10 +174070,10 @@ type Fts5Index1 = struct { FpConfig uintptr FzDataTbl uintptr FnWorkUnit int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpHash uintptr FnPendingData int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiWriteRowid I64 FbDelete int32 Frc int32 @@ -173627,7 +174084,7 @@ type Fts5Index1 = struct { FpIdxDeleter uintptr FpIdxSelect uintptr FnRead int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr @@ -173644,11 +174101,11 @@ type Fts5Index1 = struct { type Fts5Index = Fts5Index1 /* sqlite3.c:213356:26 */ type Fts5IndexIter1 = struct { - FiRowid I64 - FpData uintptr - FnData int32 - FbEof U8 - _ [3]byte + FiRowid I64 + FpData uintptr + FnData int32 + FbEof U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:213118:9 */ type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:213357:30 */ @@ -173687,13 +174144,13 @@ type Fts5Table = Fts5Table1 /* sqlite3.c:213556:26 */ // // Interface to code in fts5_hash.c. type Fts5Hash1 = struct { - FeDetail int32 - _ [4]byte - FpnByte uintptr - FnEntry int32 - FnSlot int32 - FpScan uintptr - FaSlot uintptr + FeDetail int32 + F__ccgo_pad1 [4]byte + FpnByte uintptr + FnEntry int32 + FnSlot int32 + FpScan uintptr + FaSlot uintptr } /* sqlite3.c:213118:9 */ // @@ -173718,7 +174175,7 @@ type Fts5Storage1 = struct { FpConfig uintptr FpIndex uintptr FbTotalsValid int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr @@ -173760,16 +174217,16 @@ type Fts5Expr1 = struct { // Interface to code in fts5_expr.c. type Fts5Expr = Fts5Expr1 /* sqlite3.c:213681:25 */ type Fts5ExprNode1 = struct { - FeType int32 - FbEof int32 - FbNomatch int32 - _ [4]byte - FxNext uintptr - FiRowid I64 - FpNear uintptr - FnChild int32 - _ [4]byte - FapChild [1]uintptr + FeType int32 + FbEof int32 + FbNomatch int32 + F__ccgo_pad1 [4]byte + FxNext uintptr + FiRowid I64 + FpNear uintptr + FnChild int32 + F__ccgo_pad2 [4]byte + FapChild [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:213682:29 */ @@ -173781,33 +174238,33 @@ type Fts5Parse1 = struct { FapPhrase uintptr FpExpr uintptr FbPhraseToAnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:213683:9 */ type Fts5Parse = Fts5Parse1 /* sqlite3.c:213683:26 */ type Fts5Token1 = struct { - Fp uintptr - Fn int32 - _ [4]byte + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:213684:9 */ type Fts5Token = Fts5Token1 /* sqlite3.c:213684:26 */ type Fts5ExprPhrase1 = struct { - FpNode uintptr - Fposlist Fts5Buffer - FnTerm int32 - _ [4]byte - FaTerm [1]Fts5ExprTerm + FpNode uintptr + Fposlist Fts5Buffer + FnTerm int32 + F__ccgo_pad1 [4]byte + FaTerm [1]Fts5ExprTerm } /* sqlite3.c:213118:9 */ type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:213685:31 */ type Fts5ExprNearset1 = struct { - FnNear int32 - _ [4]byte - FpColset uintptr - FnPhrase int32 - _ [4]byte - FapPhrase [1]uintptr + FnNear int32 + F__ccgo_pad1 [4]byte + FpColset uintptr + FnPhrase int32 + F__ccgo_pad2 [4]byte + FapPhrase [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:213686:32 */ @@ -173920,9 +174377,9 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:213734:37 */ // fts5YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type Fts5YYMINORTYPE = struct { - _ [0]uint64 - Ffts5yyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Ffts5yyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:214010:3 */ //************ End control #defines ****************************************** @@ -174060,10 +174517,10 @@ var fts5yy_default = [35]uint8{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type fts5yyStackEntry = struct { - Fstateno uint8 - Fmajor uint8 - _ [6]byte - Fminor Fts5YYMINORTYPE + Fstateno uint8 + Fmajor uint8 + F__ccgo_pad1 [6]byte + Fminor Fts5YYMINORTYPE } /* sqlite3.c:214190:1 */ type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:214197:33 */ @@ -174106,7 +174563,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:214408:13: */ var fts5yypParser uintptr - fts5yypParser = (*(*func(*libc.TLS, U64) uintptr)(unsafe.Pointer(&mallocProc)))(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) + fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { sqlite3Fts5ParserInit(tls, fts5yypParser) @@ -174204,7 +174661,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli return } sqlite3Fts5ParserFinalize(tls, p) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&freeProc)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{freeProc})).f(tls, p) } // Return the peak depth of the stack for a parser. @@ -174737,14 +175194,14 @@ func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c // } // type CInstIter1 = struct { - FpApi uintptr - FpFts uintptr - FiCol int32 - FiInst int32 - FnInst int32 - FiStart int32 - FiEnd int32 - _ [4]byte + FpApi uintptr + FpFts uintptr + FiCol int32 + FiInst int32 + FnInst int32 + FiStart int32 + FiEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:215383:9 */ // 2014 May 31 @@ -174815,10 +175272,14 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:215400 // var io int32 at bp+8, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 72 /* &.xInst */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxInst})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp + 4 /* ic */)) == (*CInstIter)(unsafe.Pointer(pIter)).FiCol { - var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) + var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxPhraseSize})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) if (*CInstIter)(unsafe.Pointer(pIter)).FiStart < 0 { (*CInstIter)(unsafe.Pointer(pIter)).FiStart = *(*int32)(unsafe.Pointer(bp + 8 /* io */)) (*CInstIter)(unsafe.Pointer(pIter)).FiEnd = iEnd @@ -174846,7 +175307,9 @@ func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pI (*CInstIter)(unsafe.Pointer(pIter)).FpApi = pApi (*CInstIter)(unsafe.Pointer(pIter)).FpFts = pFts (*CInstIter)(unsafe.Pointer(pIter)).FiCol = iCol - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, (pIter + 24 /* &.nInst */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, (pIter + 24 /* &.nInst */)) if rc == SQLITE_OK { rc = fts5CInstIterNext(tls, pIter) @@ -174863,7 +175326,7 @@ type HighlightContext1 = struct { FiPos int32 FiRangeStart int32 FiRangeEnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzOpen uintptr FzClose uintptr FzIn uintptr @@ -174975,7 +175438,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzClose = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { @@ -174983,7 +175448,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp } if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -175008,7 +175475,7 @@ type Fts5SFinder1 = struct { FiPos int32 FnFirstAlloc int32 FnFirst int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr } /* sqlite3.c:215598:9 */ @@ -175092,9 +175559,13 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, var iLast int32 = 0 var iEnd Sqlite3_int64 = (Sqlite3_int64(iPos) + Sqlite3_int64(nToken)) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp /* &nInst */) for i = 0; (i < *(*int32)(unsafe.Pointer(bp /* nInst */))) && (rc == SQLITE_OK); i++ { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) if (((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 8 /* ic */)) == iCol)) && (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) >= iPos)) && (Sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 12 /* iOff */))) < iEnd) { nScore = nScore + (func() int32 { if *(*uint8)(unsafe.Pointer(aSeen + uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* ip */))))) != 0 { @@ -175106,7 +175577,9 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, if iFirst < 0 { iFirst = *(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) } - iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) + iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) } } @@ -175165,7 +175638,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr return } - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xColumnCount */))))(tls, pFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts) libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) iCol = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = fts5ValueToText(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) @@ -175179,13 +175654,17 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } return 0 }() - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) aSeen = Xsqlite3_malloc(tls, nPhrase) if aSeen == uintptr(0) { *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+96 /* &nInst */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+96 /* &nInst */) } libc.Xmemset(tls, bp+104 /* &sFinder */, 0, uint64(unsafe.Sizeof(Fts5SFinder{}))) @@ -175198,18 +175677,24 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var ii int32 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FiPos = 0 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FnFirst = 0 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*Fts5SFinder)(unsafe.Pointer(bp+104 /* &sFinder */)).FzDoc, *(*int32)(unsafe.Pointer(bp + 136 /* nDoc */)), bp+104 /* &sFinder */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5SentenceFinderCb}))) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, i, bp+140 /* &nDocsize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+140 /* &nDocsize */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } @@ -175227,7 +175712,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var jj int32 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) if *(*int32)(unsafe.Pointer(bp + 148 /* ic */)) != i { continue } @@ -175278,10 +175765,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) } if (*(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 164 /* nColSize */)) == 0) { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, iBestCol, bp+164 /* &nColSize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, iBestCol, bp+164 /* &nColSize */) } if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { @@ -175302,7 +175793,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -175327,11 +175820,11 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. type Fts5Bm25Data1 = struct { - FnPhrase int32 - _ [4]byte - Favgdl float64 - FaIDF uintptr - FaFreq uintptr + FnPhrase int32 + F__ccgo_pad1 [4]byte + Favgdl float64 + FaIDF uintptr + FaFreq uintptr } /* sqlite3.c:215879:9 */ //********************************************************************** @@ -175360,7 +175853,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var rc int32 = SQLITE_OK // Return code var p uintptr // Object to return - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((pApi + 120 /* &.xGetAuxdata */))))(tls, pFts, 0) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0) if p == uintptr(0) { var nPhrase int32 // Number of phrases in query *(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)) = int64(0) // Number of rows in table @@ -175369,7 +175864,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var i int32 // Allocate the Fts5Bm25Data object - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) nByte = (Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Bm25Data{})) + ((uint64(nPhrase * 2)) * uint64(unsafe.Sizeof(float64(0)))))) p = Xsqlite3_malloc64(tls, uint64(nByte)) if p == uintptr(0) { @@ -175383,11 +175880,15 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate the average document length for this FTS5 table if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp /* &nRow */) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xColumnTotalSize */))))(tls, pFts, -1, bp+8 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, -1, bp+8 /* &nToken */) } if rc == SQLITE_OK { (*Fts5Bm25Data)(unsafe.Pointer(p)).Favgdl = (float64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* nToken */))) / float64(*(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)))) @@ -175396,7 +175897,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate an IDF for each phrase in the query for i = 0; (rc == SQLITE_OK) && (i < nPhrase); i++ { *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* nHit */)) = int64(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 104 /* &.xQueryPhrase */))))(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{fts5CountCb}))) if rc == SQLITE_OK { @@ -175424,7 +175927,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) if rc != SQLITE_OK { Xsqlite3_free(tls, p) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 112 /* &.xSetAuxdata */))))(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } if rc != SQLITE_OK { p = uintptr(0) @@ -175456,7 +175961,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { aFreq = (*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FaFreq libc.Xmemset(tls, aFreq, 0, (uint64(unsafe.Sizeof(float64(0))) * uint64((*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FnPhrase))) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+8 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+8 /* &nInst */) } for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nInst */))); i++ { // var ip int32 at bp+12, 4 @@ -175465,7 +175972,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n // var io int32 at bp+20, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) if rc == SQLITE_OK { var w float64 if nVal > *(*int32)(unsafe.Pointer(bp + 16 /* ic */)) { @@ -175481,7 +175990,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { // var nTok int32 at bp+24, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, -1, bp+24 /* &nTok */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, -1, bp+24 /* &nTok */) D = float64(*(*int32)(unsafe.Pointer(bp + 24 /* nTok */))) } @@ -175516,7 +176027,9 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([3]Builtin{})) / uint64(unsafe.Sizeof(Builtin{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xCreateFunction */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateFunction})).f(tls, pApi, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzFunc, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FpUserData, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FxFunc, @@ -176140,9 +176653,9 @@ func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:216659:13: */ } type Fts5Enum1 = struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:216670:1 */ type Fts5Enum = Fts5Enum1 /* sqlite3.c:216674:25 */ @@ -176574,7 +177087,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:217109 if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 8 /* &.xDelete */))))(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxDelete})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) } Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb) Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName) @@ -176649,7 +177162,9 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint if pText == uintptr(0) { return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxTokenize})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok, pCtx, flags, pText, nText, xToken) } @@ -176907,12 +177422,12 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 // All token types in the generated fts5parse.h file are greater than 0. type Fts5ExprTerm1 = struct { - FbPrefix U8 - FbFirst U8 - _ [6]byte - FzTerm uintptr - FpIter uintptr - FpSynonym uintptr + FbPrefix U8 + FbFirst U8 + F__ccgo_pad1 [6]byte + FzTerm uintptr + FpIter uintptr + FpSynonym uintptr } /* sqlite3.c:213118:9 */ // 2014 May 31 @@ -178358,7 +178873,9 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid if (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0 { if ((*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid == iLast) || ((bFromValid != 0) && (fts5RowidCmp(tls, pExpr, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid, iFrom) < 0)) { - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, bFromValid, iFrom) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 return rc @@ -178386,7 +178903,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* var cmp int32 = fts5RowidCmp(tls, pExpr, iLast, (*Fts5ExprNode)(unsafe.Pointer(pChild)).FiRowid) if cmp > 0 { // Advance pChild until it points to iLast or laster - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pChild + 16 /* &.xNext */))))(tls, pExpr, pChild, 1, iLast) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pChild))).FxNext})).f(tls, pExpr, pChild, 1, iLast) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FbNomatch = 0 return rc @@ -178421,7 +178940,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* } func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218749:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_AND(tls, pExpr, pNode) } else { @@ -178438,14 +178959,18 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / for (rc == SQLITE_OK) && ((*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0) { var cmp int32 = fts5NodeCompare(tls, pExpr, p1, p2) if cmp > 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p2 + 16 /* &.xNext */))))(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p2))).FxNext})).f(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) cmp = fts5NodeCompare(tls, pExpr, p1, p2) } if (cmp != 0) || ((*Fts5ExprNode)(unsafe.Pointer(p2)).FbNomatch != 0) { break } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, 0, int64(0)) } (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbNomatch @@ -178457,7 +178982,9 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / } func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218792:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_NOT(tls, pExpr, pNode) } @@ -178598,13 +179125,17 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD if ((rc == SQLITE_OK) && (0 == (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbEof)) && (fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iFirst) < 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 1, iFirst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 1, iFirst) } // If the iterator is not at a real match, skip forward until it is. for ((*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } return rc } @@ -178618,7 +179149,9 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot for ok := true; ok; ok = (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } if fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iLast) > 0 { @@ -178739,9 +179272,9 @@ func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhra } type TokenCtx1 = struct { - FpPhrase uintptr - Frc int32 - _ [4]byte + FpPhrase uintptr + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:219078:9 */ type TokenCtx = TokenCtx1 /* sqlite3.c:219078:25 */ @@ -181144,7 +181677,7 @@ type Fts5Iter1 = struct { FnSeg int32 FbRev int32 FbSkipEmpty U8 - _ [7]byte + F__ccgo_pad1 [7]byte FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter @@ -181180,7 +181713,7 @@ type Fts5SegIter1 = struct { FiRowid I64 FnPos int32 FbDel U8 - _ [3]byte + F__ccgo_pad1 [3]byte } /* sqlite3.c:221314:9 */ type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:221316:28 */ @@ -181195,26 +181728,26 @@ type Fts5DoclistIter1 = struct { type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:221317:32 */ type Fts5SegWriter1 = struct { FiSegid int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fwriter Fts5PageWriter FiPrevRowid I64 FbFirstRowidInDoclist U8 FbFirstRowidInPage U8 FbFirstTermInPage U8 - _ [1]byte + F__ccgo_pad2 [1]byte FnLeafWritten int32 FnEmpty int32 FnDlidx int32 FaDlidx uintptr Fbtterm Fts5Buffer FiBtPage int32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:221318:9 */ type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:221318:30 */ type Fts5Structure1 = struct { FnRef int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnWriteCounter U64 FnSegment int32 FnLevel int32 @@ -181238,9 +181771,9 @@ type Fts5StructureSegment1 = struct { type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:221321:37 */ type Fts5CResult1 = struct { - FiFirst U16 - FbTermEq U8 - _ [1]byte + FiFirst U16 + FbTermEq U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:221314:9 */ type Fts5CResult = Fts5CResult1 /* sqlite3.c:221431:28 */ @@ -183396,7 +183929,9 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { for ok := true; ok; ok = ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { if (bMove != 0) && ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pIter + 40 /* &.xNext */))))(tls, p, pIter, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext})).f(tls, p, pIter, uintptr(0)) } if (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf == uintptr(0) { break @@ -183430,7 +183965,9 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pIter, i)) != 0 { var pSeg uintptr = ((pIter + 96 /* &.aSeg */) + uintptr(iEq)*120) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iEq) } } @@ -183509,7 +184046,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr if (bUseFrom != 0) && ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpDlidx != 0) { fts5SegIterNextFrom(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), iFrom) } else { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) } if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || @@ -183523,7 +184062,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } if (int32((*Fts5Iter)(unsafe.Pointer(pIter)).FbSkipEmpty) == 0) || ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FnPos != 0) { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pIter + 56 /* &.xSetOutputs */))))(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pIter)).FxSetOutputs})).f(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) return } bUseFrom = 0 @@ -183541,7 +184082,9 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) = ((pIter + 96 /* &.aSeg */) + uintptr(iFirst)*120) *(*int32)(unsafe.Pointer(bp /* bNewTerm */)) = 0 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || (fts5MultiIterAdvanceRowid(tls, pIter, iFirst, bp+8 /* &pSeg */) != 0) { fts5MultiIterAdvanced(tls, p, pIter, iFirst, 1) @@ -183590,10 +184133,10 @@ func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChun } type PoslistCallbackCtx1 = struct { - FpBuf uintptr - FpColset uintptr - FeState int32 - _ [4]byte + FpBuf uintptr + FpColset uintptr + FeState int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:224008:9 */ type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:224008:35 */ @@ -183744,7 +184287,9 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu } for 1 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&xChunk)))(tls, p, pCtx, pChunk, nChunk) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xChunk})).f(tls, p, pCtx, pChunk, nChunk) nRem = nRem - (nChunk) fts5DataRelease(tls, pData) if nRem <= 0 { @@ -184146,7 +184691,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pNew, iIter)) != 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr(iEq)*120) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) } fts5MultiIterAdvanced(tls, p, pNew, iEq, iIter) } @@ -184157,7 +184704,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC fts5MultiIterNext(tls, p, pNew, 0, int64(0)) } else if int32((*Fts5Iter)(unsafe.Pointer(pNew)).Fbase.FbEof) == 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pNew)).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pNew + 56 /* &.xSetOutputs */))))(tls, pNew, pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pNew)).FxSetOutputs})).f(tls, pNew, pSeg) } } else { @@ -185560,12 +186109,12 @@ func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf } type PrefixMerger1 = struct { - Fiter Fts5DoclistIter - FiPos I64 - FiOff int32 - _ [4]byte - FaPos uintptr - FpNext uintptr + Fiter Fts5DoclistIter + FiPos I64 + FiOff int32 + F__ccgo_pad1 [4]byte + FaPos uintptr + FpNext uintptr } /* sqlite3.c:225988:9 */ type PrefixMerger = PrefixMerger1 /* sqlite3.c:225988:29 */ @@ -185811,9 +186360,13 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok fts5IterSetOutputCb(tls, (p + 52 /* &.rc */), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) for ; fts5MultiIterEof(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) == 0; fts5MultiIterNext2(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp+24 /* &dummy */) { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FnData != 0 { - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } } @@ -185827,7 +186380,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) var nTerm int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fn var pTerm uintptr = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fp - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if *(*int32)(unsafe.Pointer(bp + 28 /* bNewTerm */)) != 0 { if (nTerm < nToken) || (libc.Xmemcmp(tls, pToken, pTerm, uint64(nToken)) != 0) { @@ -185852,7 +186407,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok } } if iStore == (i1 + nMerge) { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) for iStore = i1; iStore < (i1 + nMerge); iStore++ { sqlite3Fts5BufferZero(tls, (aBuf + uintptr(iStore)*16)) } @@ -185861,14 +186418,18 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok iLastRowid = int64(0) } - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } for i = 0; i < nBuf; i = i + (nMerge) { var iFree int32 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) } for iFree = i; iFree < (i + nMerge); iFree++ { sqlite3Fts5BufferFree(tls, (aBuf + uintptr(iFree)*16)) @@ -186141,7 +186702,9 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FaFirst+1*4)).FiFirst)*120) if (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) } } } @@ -187346,13 +187909,13 @@ type Fts5Cursor1 = struct { FpExpr uintptr FpSorter uintptr Fcsrflags int32 - _ [4]byte + F__ccgo_pad1 [4]byte FiSpecial I64 FzRank uintptr FzRankArgs uintptr FpRank uintptr FnRankArg int32 - _ [4]byte + F__ccgo_pad2 [4]byte FapRankArg uintptr FpRankArgStmt uintptr FpAux uintptr @@ -187426,9 +187989,9 @@ type Fts5TransactionState = struct { } /* sqlite3.c:227858:1 */ type Fts5MatchPhrase = struct { - FpPoslist uintptr - FnTerm int32 - _ [4]byte + FpPoslist uintptr + FnTerm int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:227915:1 */ // Return true if pTab is a contentless table. @@ -187860,7 +188423,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:228530 for pData = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata; pData != 0; pData = pNext { pNext = (*Fts5Auxdata)(unsafe.Pointer(pData)).FpNext if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } Xsqlite3_free(tls, pData) } @@ -189288,14 +189851,14 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt if pData != 0 { if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } } else { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK pData = sqlite3Fts5MallocZero(tls, bp /* &rc */, int64(unsafe.Sizeof(Fts5Auxdata{}))) if pData == uintptr(0) { if xDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pPtr) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -189513,7 +190076,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui if rc == SQLITE_OK { for rc = fts5CursorFirst(tls, pTab, *(*uintptr)(unsafe.Pointer(bp /* pNew */)), 0); (rc == SQLITE_OK) && (((*Fts5Cursor)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pNew */))))).Fcsrflags & (FTS5CSR_EOF)) == 0); rc = fts5NextMethod(tls, *(*uintptr)(unsafe.Pointer(bp /* pNew */))) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) if rc != SQLITE_OK { if rc == SQLITE_DONE { rc = SQLITE_OK @@ -189530,7 +190095,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:230126:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((pAux + 24 /* &.xFunc */))))(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } @@ -189864,7 +190431,9 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg rc = SQLITE_ERROR *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41390 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { if azArg != 0 { return (azArg + 1*8) @@ -189905,7 +190474,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pAux = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpAux; pAux != 0; pAux = pNextAux { pNextAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext if (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 32 /* &.xDestroy */))))(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy})).f(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) } Xsqlite3_free(tls, pAux) } @@ -189913,7 +190482,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pTok = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpTok; pTok != 0; pTok = pNextTok { pNextTok = (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpNext if (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pTok + 40 /* &.xDestroy */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) } Xsqlite3_free(tls, pTok) } @@ -191280,7 +191849,9 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused asciiFold(tls, pFold, (pText + uintptr(is)), nByte) // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, pFold, nByte, is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, pFold, nByte, is, ie) is = (ie + 1) } @@ -191307,7 +191878,7 @@ type Unicode61Tokenizer1 = struct { FnFold int32 FeRemoveDiacritic int32 FnException int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 } /* sqlite3.c:232110:9 */ @@ -191732,7 +192303,9 @@ __15: ; // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) goto __1 __2: ; @@ -191774,7 +192347,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:232438:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p /* &.tokenizer */ + 8 /* &.xDelete */))))(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxDelete})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) } Xsqlite3_free(tls, p) } @@ -191798,7 +192371,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp pRet = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PorterTokenizer{}))) if pRet != 0 { libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(PorterTokenizer{}))) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xFindTokenizer */))))(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) } else { rc = SQLITE_NOMEM } @@ -191815,7 +192390,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp } return uintptr(0) }() - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRet /* &.tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(pRet)).Ftokenizer.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) } if rc != SQLITE_OK { @@ -191835,13 +192412,13 @@ type PorterContext1 = struct { type PorterContext = PorterContext1 /* sqlite3.c:232487:30 */ type PorterRule1 = struct { - FzSuffix uintptr - FnSuffix int32 - _ [4]byte - FxCond uintptr - FzOutput uintptr - FnOutput int32 - _ [4]byte + FzSuffix uintptr + FnSuffix int32 + F__ccgo_pad1 [4]byte + FxCond uintptr + FzOutput uintptr + FnOutput int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:232494:9 */ type PorterRule = PorterRule1 /* sqlite3.c:232494:27 */ @@ -192453,10 +193030,14 @@ __8: __10: ; - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) pass_through: - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) } // Tokenize using the porter tokenizer. @@ -192470,7 +193051,9 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FxToken = xToken (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FpCtx = pCtx (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FaBuf = p + 32 /* &.aBuf */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.tokenizer */ + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxTokenize})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp /* &sCtx */, flags, pText, nText, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5PorterCb}))) @@ -192655,7 +193238,9 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 } else { break } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) if rc != SQLITE_OK { break } @@ -192719,7 +193304,9 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([4]BuiltinTokenizer{})) / uint64(unsafe.Sizeof(BuiltinTokenizer{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.xCreateTokenizer */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateTokenizer})).f(tls, pApi, (*BuiltinTokenizer)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzName, pApi, (bp /* &aBuiltin */ + uintptr(i)*32 + 8 /* &.x */), @@ -194019,24 +194606,24 @@ type Fts5VocabTable1 = struct { type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:234461:31 */ type Fts5VocabCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FpStmt uintptr - FpFts5 uintptr - FbEof int32 - _ [4]byte - FpIter uintptr - FnLeTerm int32 - _ [4]byte - FzLeTerm uintptr - FiCol int32 - _ [4]byte - FaCnt uintptr - FaDoc uintptr - Frowid I64 - Fterm Fts5Buffer - FiInstPos I64 - FiInstOff int32 - _ [4]byte + Fbase Sqlite3_vtab_cursor + FpStmt uintptr + FpFts5 uintptr + FbEof int32 + F__ccgo_pad1 [4]byte + FpIter uintptr + FnLeTerm int32 + F__ccgo_pad2 [4]byte + FzLeTerm uintptr + FiCol int32 + F__ccgo_pad3 [4]byte + FaCnt uintptr + FaDoc uintptr + Frowid I64 + Fterm Fts5Buffer + FiInstPos I64 + FiInstOff int32 + F__ccgo_pad4 [4]byte } /* sqlite3.c:234462:9 */ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:234462:32 */ @@ -195924,5 +196511,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-7.5.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q) AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00INTEGER\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_status\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00call flush_partition\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql LIKE 'create virtual%%'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file://%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\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\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-9.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@ \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q) AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00INTEGER\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00coalesce\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_status\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00call flush_partition\x00%s clause should come after %s not before\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql LIKE 'create virtual%%'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file://%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\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\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/speedtest1/main_linux_s390x.go b/speedtest1/main_linux_s390x.go index f61e56e..dab6467 100644 --- a/speedtest1/main_linux_s390x.go +++ b/speedtest1/main_linux_s390x.go @@ -720,6 +720,103 @@ const ( Unix = 1 ) +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// ISO C99 Standard 7.4: Character handling + +// Copyright (C) 1991-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// bits/types.h -- definitions of __*_t types underlying *_t types. +// Copyright (C) 2002-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// Never include this file directly; use instead. + +// These are all the characteristics of characters. +// If there get to be more than 16 distinct characteristics, +// many things must be changed that use `unsigned short int's. +// +// The characteristics are stored always in network byte order (big +// endian). We define the bit value interpretations here dependent on the +// machine's byte order. + +// Endian macros for string.h functions +// Copyright (C) 1992-2020 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +const ( /* ctype.h:46:1: */ + _ISupper = 1 // UPPERCASE. + _ISlower = 2 // lowercase. + _ISalpha = 4 // Alphabetic. + _ISdigit = 8 // Numeric. + _ISxdigit = 16 // Hexadecimal numeric. + _ISspace = 32 // Whitespace. + _ISprint = 64 // Printing. + _ISgraph = 128 // Graphical. + _ISblank = 256 // Blank (usually SPC and TAB). + _IScntrl = 512 // Control character. + _ISpunct = 1024 // Punctuation. + _ISalnum = 2048 +) + // Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; // the `_SC_*' symbols for the NAME argument to `sysconf'; // and the `_CS_*' symbols for the NAME argument to `confstr'. @@ -1088,71 +1185,10 @@ const ( /* confname.h:71:1: */ _SC_THREAD_ROBUST_PRIO_PROTECT = 248 ) -// Copyright (C) 1991-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . +// A null pointer constant. -// ISO C99 Standard 7.4: Character handling - -// Copyright (C) 1991-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// bits/types.h -- definitions of __*_t types underlying *_t types. -// Copyright (C) 2002-2020 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// Never include this file directly; use instead. - -// These are all the characteristics of characters. -// If there get to be more than 16 distinct characteristics, -// many things must be changed that use `unsigned short int's. -// -// The characteristics are stored always in network byte order (big -// endian). We define the bit value interpretations here dependent on the -// machine's byte order. - -// Endian macros for string.h functions +// XPG requires a few symbols from being defined. +// Definitions of flag bits for `waitpid' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -1168,21 +1204,21 @@ const ( /* confname.h:71:1: */ // // You should have received a copy of the GNU Lesser General Public // License along with the GNU C Library; if not, see -// . +// . -const ( /* ctype.h:46:1: */ - _ISupper = 1 // UPPERCASE. - _ISlower = 2 // lowercase. - _ISalpha = 4 // Alphabetic. - _ISdigit = 8 // Numeric. - _ISxdigit = 16 // Hexadecimal numeric. - _ISspace = 32 // Whitespace. - _ISprint = 64 // Printing. - _ISgraph = 128 // Graphical. - _ISblank = 256 // Blank (usually SPC and TAB). - _IScntrl = 512 // Control character. - _ISpunct = 1024 // Punctuation. - _ISalnum = 2048 +// Bits in the third argument to `waitpid'. + +// Bits in the fourth argument to `waitid'. + +// The following values are used by the `waitid' function. + +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. + +const ( /* waitflags.h:52:1: */ + P_ALL = 0 // Wait for any child. + P_PID = 1 // Wait for specified process. + P_PGID = 2 ) type ptrdiff_t = int64 /* :3:26 */ @@ -3378,11 +3414,6 @@ type ssize_t = int64 /* stdio.h:77:19 */ // The type of the second argument to `fgetpos' and `fsetpos'. type fpos_t = _G_fpos64_t /* stdio.h:86:20 */ -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // XPG requires a few symbols from being defined. @@ -3408,6 +3439,12 @@ type fpos_t = _G_fpos64_t /* stdio.h:86:20 */ // Bits in the fourth argument to `waitid'. +// The following values are used by the `waitid' function. + +// The Linux kernel defines these bare, rather than an enum, +// which causes a conflict if the include order is reversed. + +type idtype_t = uint32 /* waitflags.h:57:3 */ // Definitions of status bits for `wait' et al. // Copyright (C) 1992-2020 Free Software Foundation, Inc. // This file is part of the GNU C Library. @@ -3826,7 +3863,7 @@ type time_t = int64 /* time_t.h:7:18 */ // Timer ID returned by `timer_create'. type timer_t = uintptr /* timer_t.h:7:19 */ -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -3858,15 +3895,6 @@ type timer_t = uintptr /* timer_t.h:7:19 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -3901,11 +3929,6 @@ type timer_t = uintptr /* timer_t.h:7:19 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // Old compatibility names for C types. @@ -4760,7 +4783,7 @@ type locale_t = uintptr /* locale_t.h:24:20 */ // Never include this file directly; use instead. -// Copyright (C) 1989-2017 Free Software Foundation, Inc. +// Copyright (C) 1989-2019 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -4792,15 +4815,6 @@ type locale_t = uintptr /* locale_t.h:24:20 */ // This avoids lossage on SunOS but only if stdtypes.h comes first. // There's no way to win with the other order! Sun lossage. -// On 4.3bsd-net2, make sure ansi.h is included, so we have -// one less case to deal with in the following. -// On FreeBSD 5, machine/ansi.h does not exist anymore... - -// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are -// defined if the corresponding type is *not* defined. -// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. -// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ - // Sequent's header files use _PTRDIFF_T_ in some conflicting way. // Just ignore it. @@ -4835,11 +4849,6 @@ type locale_t = uintptr /* locale_t.h:24:20 */ // Define this type if we are doing the whole job, // or if we want this type in particular. -// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. -// are already defined. -// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. -// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. - // A null pointer constant. // The Single Unix specification says that some more types are @@ -5090,12 +5099,16 @@ func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 { /* speedtest1.c:257:15: clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) } if ((*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2) && ((*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0)) { - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((clockVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, clockVfs, bp /* &t */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp /* &t */) } else { // var r float64 at bp+8, 8 - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((clockVfs + 120 /* &.xCurrentTime */))))(tls, clockVfs, bp+8 /* &r */) - *(*sqlite3_int64)(unsafe.Pointer(bp /* t */)) = (sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * 86400000.0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8 /* &r */) + *(*sqlite3_int64)(unsafe.Pointer(bp /* t */)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * 86400000.0)) } return *(*sqlite3_int64)(unsafe.Pointer(bp /* t */)) }