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 */))
}