summaryrefslogtreecommitdiff
path: root/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-11-27 15:26:58 +0100
committerLibravatar GitHub <noreply@github.com>2021-11-27 15:26:58 +0100
commit182b4eea73881c611a0f519576aa6ad2aa6799c2 (patch)
tree230fac469690fcee8797b13585e739be148d4789 /vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
parentRequire confirmed email when checking oauth token (#332) (diff)
downloadgotosocial-182b4eea73881c611a0f519576aa6ad2aa6799c2.tar.xz
Update dependencies (#333)
Diffstat (limited to 'vendor/modernc.org/sqlite/lib/sqlite_linux_386.go')
-rw-r--r--vendor/modernc.org/sqlite/lib/sqlite_linux_386.go2624
1 files changed, 1619 insertions, 1005 deletions
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
index bcb5e2d9b..cf7ceda38 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
@@ -3055,6 +3055,57 @@ 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
+)
+
// 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'.
@@ -3504,55 +3555,15 @@ const ( /* waitflags.h:52:1: */
P_PGID = 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
-
- // 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
+// Values for the first argument to `getitimer' and `setitimer'.
+const ( /* time.h:88:1: */
+ // Timers run in real time.
+ ITIMER_REAL = 0
+ // Timers run only when the process is executing.
+ ITIMER_VIRTUAL = 1
+ // Timers run when the process is executing and when
+ // the system is executing on behalf of the process.
+ ITIMER_PROF = 2
)
// Define macros for the return values of ilogb and llogb, based on
@@ -3644,17 +3655,6 @@ const ( /* math.h:853:1: */
FP_NORMAL = 4
)
-// Values for the first argument to `getitimer' and `setitimer'.
-const ( /* time.h:88:1: */
- // Timers run in real time.
- ITIMER_REAL = 0
- // Timers run only when the process is executing.
- ITIMER_VIRTUAL = 1
- // Timers run when the process is executing and when
- // the system is executing on behalf of the process.
- ITIMER_PROF = 2
-)
-
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
@@ -4095,7 +4095,7 @@ type sqlite3 = struct {
FmTrace U8
FnoSharedCache U8
FnSqlExec U8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
FnextPagesize int32
Fmagic U32
FnChange int32
@@ -4106,9 +4106,9 @@ type sqlite3 = 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 */
- _ [3]byte
+ F__ccgo_pad2 [3]byte
FazInit uintptr
}
FnVdbeActive int32
@@ -4140,7 +4140,7 @@ type sqlite3 = struct {
FpErr uintptr
Fu1 struct {
FisInterrupted int32
- _ [4]byte
+ F__ccgo_pad1 [4]byte
}
Flookaside Lookaside
FxAuth Sqlite3_xauth
@@ -5417,16 +5417,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
- _ [2]byte
- Fargv [1]uintptr
+ FpOut uintptr
+ FpFunc uintptr
+ FpMem uintptr
+ FpVdbe uintptr
+ FiOp int32
+ FisError int32
+ FskipFlag U8
+ Fargc U8
+ F__ccgo_pad1 [2]byte
+ Fargv [1]uintptr
} /* sqlite3.c:1331:9 */
// CAPI3REF: SQL Function Context Object
@@ -5631,7 +5631,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 */
@@ -5736,9 +5736,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
@@ -5842,9 +5842,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
@@ -6009,7 +6009,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
@@ -9251,7 +9251,7 @@ type __pthread_mutex_s = struct {
F__kind int32
F__nusers uint32
F__20 struct {
- _ [0]uint32
+ F__ccgo_pad1 [0]uint32
F__elision_data struct {
F__espins int16
F__eelision int16
@@ -9278,15 +9278,15 @@ type Pthread_t = uint32 /* 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]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* 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]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:45:3 */
// Keys for thread-specific data
@@ -9296,8 +9296,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]uint32
- F__size [36]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [36]int8
} /* pthreadtypes.h:56:1 */
type Pthread_attr_t = pthread_attr_t /* pthreadtypes.h:62:30 */
@@ -9311,8 +9311,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]uint32
- F__size [8]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [8]int8
} /* pthreadtypes.h:97:3 */
// POSIX spinlock data type.
@@ -9321,13 +9321,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]uint32
- F__size [20]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [20]int8
} /* pthreadtypes.h:112:3 */
type Pthread_barrierattr_t = struct {
- _ [0]uint32
- F__size [4]int8
+ F__ccgo_pad1 [0]uint32
+ F__size [4]int8
} /* pthreadtypes.h:118:3 */
// Reentrant versions of the `random' family of functions.
@@ -9570,7 +9570,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
@@ -9652,54 +9652,54 @@ type Bitvec1 = struct {
FnSet U32
FiDivisor U32
Fu struct {
- _ [0]uint32
- FaBitmap [500]U8
+ F__ccgo_pad1 [0]uint32
+ FaBitmap [500]U8
}
} /* sqlite3.c:1331:9 */
type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */
type CollSeq1 = struct {
- FzName uintptr
- Fenc U8
- _ [3]byte
- FpUser uintptr
- FxCmp uintptr
- FxDel uintptr
+ FzName uintptr
+ Fenc U8
+ F__ccgo_pad1 [3]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 int8
- FszEst U8
- FhName U8
- FcolFlags U16
- _ [2]byte
+ FzName uintptr
+ FpDflt uintptr
+ FzColl uintptr
+ FnotNull U8
+ Faffinity int8
+ 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
- _ [3]byte
+ FzName uintptr
+ FpCols uintptr
+ FpSelect uintptr
+ FzCteErr uintptr
+ FpUse uintptr
+ FeM10d U8
+ F__ccgo_pad1 [3]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 */
@@ -9708,20 +9708,20 @@ type Db1 = struct {
FpBt uintptr
Fsafety_level U8
FbSyncSet U8
- _ [2]byte
+ F__ccgo_pad1 [2]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
- _ [3]byte
- FzDb uintptr
- FzType uintptr
- FpName uintptr
+ FpParse uintptr
+ Fw Walker
+ FpSchema uintptr
+ FbTemp U8
+ F__ccgo_pad1 [3]byte
+ FzDb uintptr
+ FzType uintptr
+ FpName uintptr
} /* sqlite3.c:14893:9 */
type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */
@@ -9744,7 +9744,7 @@ type Expr1 = struct {
Fop U8
FaffExpr int8
Fop2 U8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
Fflags U32
Fu struct{ FzToken uintptr }
FpLeft uintptr
@@ -9757,8 +9757,8 @@ type Expr1 = struct {
FiRightJoinTable int32
FpAggInfo uintptr
Fy struct {
- FpTab uintptr
- _ [4]byte
+ FpTab uintptr
+ F__ccgo_pad1 [4]byte
}
} /* sqlite3.c:1331:9 */
@@ -9767,15 +9767,15 @@ 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
}
@@ -9785,17 +9785,17 @@ type ExprList1 = struct {
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 {
+ 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
FzCol uintptr
}
@@ -9810,17 +9810,17 @@ type FuncDestructor1 = struct {
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 */
@@ -9850,9 +9850,9 @@ 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
@@ -9873,33 +9873,33 @@ type IndexSample1 = struct {
type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */
type KeyInfo1 = struct {
- FnRef U32
- Fenc U8
- _ [1]byte
- FnKeyField U16
- FnAllField U16
- _ [2]byte
- Fdb uintptr
- FaSortFlags uintptr
- FaColl [1]uintptr
+ FnRef U32
+ Fenc U8
+ F__ccgo_pad1 [1]byte
+ FnKeyField U16
+ FnAllField U16
+ F__ccgo_pad2 [2]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
- 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
+ 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 */
@@ -9943,7 +9943,7 @@ type Parse1 = struct {
FokConstFactor U8
FdisableLookaside U8
FdisableVtab U8
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FnRangeReg int32
FiRangeReg int32
FnErr int32
@@ -9983,7 +9983,7 @@ type Parse1 = struct {
FiPkSortOrder U8
Fexplain U8
FeParseMode U8
- _ [3]byte
+ F__ccgo_pad2 [3]byte
FnVtabLock int32
FnHeight int32
FaddrExplain int32
@@ -10076,7 +10076,7 @@ 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
@@ -10106,14 +10106,14 @@ 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
- FzAffSdst uintptr
- FpOrderBy uintptr
+ FeDest U8
+ F__ccgo_pad1 [3]byte
+ FiSDParm int32
+ FiSDParm2 int32
+ FiSdst int32
+ FnSdst int32
+ FzAffSdst uintptr
+ FpOrderBy uintptr
} /* sqlite3.c:14920:9 */
type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */
@@ -10128,11 +10128,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
@@ -10168,7 +10168,7 @@ type Table1 = struct {
FnRowLogEst LogEst
FszTabRow LogEst
FkeyConf U8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
FaddColOffset int32
FnModuleArg int32
FazModuleArg uintptr
@@ -10183,7 +10183,7 @@ type TableLock1 = struct {
FiDb int32
FiTab Pgno
FisWriteLock U8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
FzLockName uintptr
} /* sqlite3.c:1331:9 */
@@ -10195,18 +10195,18 @@ type Token1 = struct {
type Token = Token1 /* sqlite3.c:14926:22 */
type Trigger1 = struct {
- FzName uintptr
- Ftable uintptr
- Fop U8
- Ftr_tm U8
- FbReturning U8
- _ [1]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 [1]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 */
@@ -10220,33 +10220,33 @@ type TriggerPrg1 = struct {
type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */
type TriggerStep1 = struct {
- Fop U8
- Forconf U8
- _ [2]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 [2]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 */
@@ -10257,7 +10257,7 @@ type Upsert1 = struct {
FpUpsertWhere uintptr
FpNextUpsert uintptr
FisDoUpdate U8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
FpToFree uintptr
FpUpsertIdx uintptr
FpUpsertSrc uintptr
@@ -10274,7 +10274,7 @@ type VTable1 = struct {
FnRef int32
FbConstraint U8
FeVtabRisk U8
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FiSavepoint int32
FpNext uintptr
} /* sqlite3.c:1331:9 */
@@ -10295,7 +10295,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 */
@@ -10317,7 +10317,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
@@ -10340,7 +10340,7 @@ type Window1 = struct {
FeEnd U8
FbImplicitFrame U8
FeExclude U8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
FpStart uintptr
FpEnd uintptr
FppThis uintptr
@@ -10360,7 +10360,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 */
@@ -10592,7 +10592,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
@@ -10611,13 +10611,13 @@ 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
@@ -10636,14 +10636,14 @@ type BtShared1 = struct {
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
+ FpKey uintptr
+ FnKey Sqlite3_int64
+ FpData uintptr
+ FaMem uintptr
+ FnMem U16
+ F__ccgo_pad1 [2]byte
+ FnData int32
+ FnZero int32
} /* sqlite3.c:15270:9 */
type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */
@@ -10678,7 +10678,7 @@ type Vdbe1 = struct {
FpNext uintptr
FpParse uintptr
FnVar YnVar
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FiVdbeMagic U32
FnMem int32
FnCursor int32
@@ -10708,9 +10708,9 @@ type Vdbe1 = struct {
FminWriteFileFormat U8
FprepFlags U8
FdoingRerun U8
- _ [2]byte
+ F__ccgo_pad2 [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_pad3 [2]byte
FbtreeMask YDbMask
FlockMask YDbMask
FaCounter [7]U32
@@ -10863,20 +10863,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 */
@@ -10895,9 +10895,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 */
- _ [3]byte
+ F__ccgo_pad2 [3]byte
FazInit uintptr
} /* sqlite3.c:1331:9 */
@@ -11057,15 +11057,15 @@ 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
}
@@ -11129,7 +11129,7 @@ type Sqlite3Config = struct {
FbUseCis U8
FbSmallMalloc U8
FbExtraSchemaChecks U8
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FmxStrlen int32
FneverCorrupt int32
FszLookaside int32
@@ -11605,7 +11605,7 @@ type VdbeSorter1 = struct {
FiPrev U8
FnTask U8
FtypeMask U8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
FaTask [1]SortSubtask
} /* sqlite3.c:21218:9 */
@@ -11640,9 +11640,9 @@ 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
FpBtx uintptr
FseqCount I64
@@ -11763,7 +11763,7 @@ type ScanStatus1 = struct {
FaddrVisit int32
FiSelectID int32
FnEst LogEst
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FzName uintptr
} /* sqlite3.c:21514:9 */
@@ -12022,7 +12022,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 */ + 16 /* &.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)))
@@ -12509,22 +12509,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 int8
- FrawS int8
- FvalidYMD int8
- FvalidHMS int8
- FvalidTZ int8
- FtzSet int8
- FisError int8
- _ [1]byte
+ FiJD Sqlite3_int64
+ FY int32
+ FM int32
+ FD int32
+ Fh int32
+ Fm int32
+ Ftz int32
+ Fs float64
+ FvalidJD int8
+ FrawS int8
+ FvalidYMD int8
+ FvalidHMS int8
+ FvalidTZ int8
+ FtzSet int8
+ FisError int8
+ F__ccgo_pad1 [1]byte
} /* sqlite3.c:22238:9 */
// The MSVC CRT on Windows CE may not have a localtime() function.
@@ -12801,10 +12801,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 = int8(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 = int8(0)
@@ -12894,7 +12894,7 @@ func setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { /* sqlite3.c:22526:
(*DateTime)(unsafe.Pointer(p)).Fs = r
(*DateTime)(unsafe.Pointer(p)).FrawS = int8(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 = int8(1)
}
}
@@ -12967,13 +12967,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 {
@@ -13000,7 +13000,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)
@@ -13097,7 +13097,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite
(*DateTime)(unsafe.Pointer(bp + 44 /* &x */)).Fm = 0
(*DateTime)(unsafe.Pointer(bp + 44 /* &x */)).Fs = 0.0
} else {
- var s int32 = (int32((*DateTime)(unsafe.Pointer(bp+44 /* &x */)).Fs + 0.5))
+ var s int32 = (libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+44 /* &x */)).Fs + 0.5))
(*DateTime)(unsafe.Pointer(bp + 44 /* &x */)).Fs = float64(s)
}
(*DateTime)(unsafe.Pointer(bp + 44 /* &x */)).Ftz = 0
@@ -13133,12 +13133,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
- _ [2]byte
- FzName uintptr
- FrLimit float64
- FrXform float64
+ FeType U8
+ FnName U8
+ F__ccgo_pad1 [2]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},
@@ -13202,7 +13202,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i
*(*float64)(unsafe.Pointer(bp + 4 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0)
if (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) < 464269060800000.0) {
clearYMD_HMS_TZ(tls, p)
- (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 4 /* r */)) + 0.5))
+ (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 4 /* r */)) + 0.5))
(*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1)
(*DateTime)(unsafe.Pointer(p)).FrawS = int8(0)
*(*int32)(unsafe.Pointer(bp /* rc */)) = 0
@@ -13367,12 +13367,12 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i
rRounder = +0.5
}
for i = 0; i < (int32(uint32(unsafe.Sizeof(aXformType)) / uint32(unsafe.Sizeof(struct {
- FeType U8
- FnName U8
- _ [2]byte
- FzName uintptr
- FrLimit float64
- FrXform float64
+ FeType U8
+ FnName U8
+ F__ccgo_pad1 [2]byte
+ FzName uintptr
+ FrLimit float64
+ FrXform float64
}{})))); i++ {
if (((int32(aXformType[i].FnName) == n) &&
(Xsqlite3_strnicmp(tls, aXformType[i].FzName, z, n) == 0)) &&
@@ -13408,7 +13408,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 + 4 /* r */)) * aXformType[i].FrXform) + rRounder))
+ *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (libc.Int64FromFloat64((*(*float64)(unsafe.Pointer(bp + 4 /* r */)) * aXformType[i].FrXform) + rRounder))
*(*int32)(unsafe.Pointer(bp /* rc */)) = 0
break
}
@@ -13500,7 +13500,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]int8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */
- libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs)))
+ 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))
}
}
@@ -13518,7 +13518,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql
// var zBuf [100]int8 at bp+72, 100
computeHMS(tls, bp+24 /* &x */)
- Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs)))
+ Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs)))
Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1))
}
}
@@ -13736,7 +13736,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 + (Size_t(2))
break
fallthrough
@@ -13867,50 +13867,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 + 4 /* &.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 + 8 /* &.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 + 12 /* &.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 + 16 /* &.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 + 20 /* &.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 + 24 /* &.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 + 28 /* &.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 + 32 /* &.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 + 36 /* &.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
@@ -13923,12 +13941,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 + 40 /* &.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 + 40 /* &.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)
}
}
@@ -13936,41 +13958,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 + 48 /* &.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 + 56 /* &.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 + 60 /* &.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 + 64 /* &.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 + 52 /* &.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 + 68 /* &.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 + 72 /* &.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
@@ -13982,7 +14018,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 + 24 /* &.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
}
@@ -13990,38 +14028,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 + 28 /* &.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 + 32 /* &.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: */
*(*int8)(unsafe.Pointer(zPathOut)) = int8(0)
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 36 /* &.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 + 40 /* &.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 + 44 /* &.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 + 48 /* &.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 + 52 /* &.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: */
@@ -14033,19 +14085,25 @@ func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uint
libc.Xmemcpy(tls, zBufOut, (uintptr(unsafe.Pointer(&Xsqlite3Config)) + 268 /* &.iPrngSeed */), uint32(nByte))
return SQLITE_OK
} else {
- return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.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 + 60 /* &.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 + 68 /* &.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
}
@@ -14061,12 +14119,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 + 72 /* &.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 + 64 /* &.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
}
@@ -14276,14 +14338,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)) + 4 /* &.xBenignEnd */))))(tls)
+ (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignEnd})).f(tls)
}
}
@@ -14644,7 +14706,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)) + 64 /* &.mutex */ /* &.xMutexInit */))))(tls)
+ rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexInit})).f(tls)
return rc
}
@@ -14654,7 +14716,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)) + 64 /* &.mutex */ + 4 /* &.xMutexEnd */))))(tls)
+ rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnd})).f(tls)
}
return rc
@@ -14669,7 +14731,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)) + 64 /* &.mutex */ + 8 /* &.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: */
@@ -14677,14 +14741,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)) + 64 /* &.mutex */ + 8 /* &.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)) + 64 /* &.mutex */ + 12 /* &.xMutexFree */))))(tls, p)
+ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexFree})).f(tls, p)
}
}
@@ -14693,7 +14759,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)) + 64 /* &.mutex */ + 16 /* &.xMutexEnter */))))(tls, p)
+ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnter})).f(tls, p)
}
}
@@ -14703,7 +14769,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)) + 64 /* &.mutex */ + 20 /* &.xMutexTry */))))(tls, p)
+ return (*struct {
+ f func(*libc.TLS, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexTry})).f(tls, p)
}
return rc
}
@@ -14715,7 +14783,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)) + 64 /* &.mutex */ + 24 /* &.xMutexLeave */))))(tls, p)
+ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexLeave})).f(tls, p)
}
}
@@ -14982,7 +15050,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 */ + 20 /* &.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, uint32(unsafe.Sizeof(mem0)))
}
@@ -14999,7 +15069,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 */ + 24 /* &.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, uint32(unsafe.Sizeof(mem0)))
}
@@ -15053,7 +15123,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 */ + 16 /* &.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) {
@@ -15072,10 +15142,14 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13
libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 20 /* &.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)
@@ -15105,7 +15179,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 */))
@@ -15140,7 +15216,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 */ + 12 /* &.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: */
@@ -15164,13 +15242,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 */ + 12 /* &.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 */ + 12 /* &.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)
}
@@ -15185,10 +15267,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 */ + 4 /* &.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 */ + 4 /* &.xFree */))))(tls, p)
+ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p)
}
}
@@ -15256,7 +15338,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 */ + 16 /* &.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 {
@@ -15271,10 +15353,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 */ + 8 /* &.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 */ + 8 /* &.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)
@@ -15282,7 +15368,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 */ + 8 /* &.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
@@ -17577,7 +17665,9 @@ func renderLogMsg(tls *libc.TLS, iErrCode int32, zFormat uintptr, ap Va_list) {
Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+24 /* &zMsg[0] */, int32(unsafe.Sizeof([210]int8{})), 0)
Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap)
- (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 236 /* &.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 */))
}
@@ -17805,7 +17895,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
@@ -17818,7 +17910,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
}
@@ -18647,7 +18741,7 @@ type Double_t = float64 /* math.h:156:21 */
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
}
@@ -21003,21 +21097,21 @@ var azName = [180]uintptr{
// i386 versions of the `xmknod' interface.
type stat = struct {
- Fst_dev X__dev_t
- F__pad1 uint16
- _ [2]byte
- F__st_ino X__ino_t
- Fst_mode X__mode_t
- Fst_nlink X__nlink_t
- Fst_uid X__uid_t
- Fst_gid X__gid_t
- Fst_rdev X__dev_t
- F__pad2 uint16
- _ [2]byte
- Fst_size X__off64_t
- Fst_blksize X__blksize_t
- Fst_blocks X__blkcnt64_t
- Fst_atim struct {
+ Fst_dev X__dev_t
+ F__pad1 uint16
+ F__ccgo_pad1 [2]byte
+ F__st_ino X__ino_t
+ Fst_mode X__mode_t
+ Fst_nlink X__nlink_t
+ Fst_uid X__uid_t
+ Fst_gid X__gid_t
+ Fst_rdev X__dev_t
+ F__pad2 uint16
+ F__ccgo_pad2 [2]byte
+ Fst_size X__off64_t
+ Fst_blksize X__blksize_t
+ Fst_blocks X__blkcnt64_t
+ Fst_atim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
@@ -21451,7 +21545,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:350:1 */
@@ -21619,13 +21713,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-2018 Free Software Foundation, Inc.
@@ -22240,13 +22334,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
@@ -22308,7 +22402,7 @@ type unixInodeInfo = struct {
FnLock int32
FeFileLock uint8
FbProcessLock uint8
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FpUnused uintptr
FnRef int32
FpShmNode uintptr
@@ -22335,7 +22429,7 @@ type unixFile = struct {
FpInode uintptr
Fh int32
FeFileLock uint8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
FctrlFlags uint16
FlastErrno int32
FlockingContext uintptr
@@ -25152,10 +25246,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)*4))
+ *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*4))
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)) {
@@ -25632,7 +25726,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 + 20 /* &.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)) {
@@ -26557,7 +26653,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: */
@@ -27269,7 +27367,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 + 24 /* &.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, uint32(unsafe.Sizeof(MemStore{})))
szName = Xsqlite3Strlen30(tls, zName)
@@ -27361,44 +27461,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 + 40 /* &.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 + 44 /* &.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 + 48 /* &.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 + 52 /* &.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 + 56 /* &.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 + 60 /* &.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 + 68 /* &.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 + 72 /* &.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
@@ -28145,7 +28261,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)) + 100 /* &.pcache2 */ + 32 /* &.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)
}
}
@@ -28180,13 +28298,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)) + 100 /* &.pcache2 */ + 8 /* &.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)) + 100 /* &.pcache2 */ + 12 /* &.xShutdown */))))(tls, Xsqlite3Config.Fpcache2.FpArg)
+ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg)
}
}
@@ -28226,15 +28346,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)) + 100 /* &.pcache2 */ + 16 /* &.xCreate */))))(tls,
+ pNew = (*struct {
+ f func(*libc.TLS, int32, int32, int32) uintptr
+ })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCreate})).f(tls,
szPage, (int32(uint32((*PCache)(unsafe.Pointer(pCache)).FszExtra) + (((uint32(unsafe.Sizeof(PgHdr{}))) + uint32(7)) & libc.Uint32FromInt32(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)) + 100 /* &.pcache2 */ + 20 /* &.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)) + 100 /* &.pcache2 */ + 44 /* &.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
@@ -28277,7 +28401,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)) + 100 /* &.pcache2 */ + 28 /* &.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
}
@@ -28317,14 +28443,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 + 36 /* &.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)) + 100 /* &.pcache2 */ + 28 /* &.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
}
@@ -28402,7 +28532,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)) + 100 /* &.pcache2 */ + 32 /* &.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,
@@ -28465,7 +28597,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)) + 100 /* &.pcache2 */ + 36 /* &.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))
@@ -28497,21 +28631,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)) + 100 /* &.pcache2 */ + 28 /* &.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, uint32((*PCache)(unsafe.Pointer(pCache)).FszPage))
pgno = Pgno(1)
}
}
- (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 40 /* &.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)) + 100 /* &.pcache2 */ + 44 /* &.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.
@@ -28627,14 +28765,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)) + 100 /* &.pcache2 */ + 24 /* &.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)) + 100 /* &.pcache2 */ + 20 /* &.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))
}
@@ -28660,7 +28802,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)) + 100 /* &.pcache2 */ + 48 /* &.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
@@ -30327,7 +30469,7 @@ type Wal1 = struct {
FsyncHeader U8
FpadToSectorBoundary U8
FbShmUnreliable U8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
Fhdr WalIndexHdr
FminFrame U32
FiReCksum U32
@@ -32399,7 +32541,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, uint32((*Pager)(unsafe.Pointer(pPager)).FpageSize))
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 196 /* &.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
@@ -33132,7 +33274,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 + 196 /* &.xReiniter */))))(tls, pPg)
+ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, pPg)
}
Xsqlite3PagerUnrefNotNull(tls, pPg)
}
@@ -33864,7 +34006,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 + 172 /* &.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
@@ -35667,7 +35811,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 + 200 /* &.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
@@ -38005,13 +38151,13 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt
var nByte Sqlite3_int64 = (Sqlite3_int64(uint32(unsafe.Sizeof(uintptr(0))) * (uint32(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)*4), 0,
+ libc.Xmemset(tls, (apNew + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*4), 0,
(uint32(unsafe.Sizeof(uintptr(0))) * (uint32((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)
}
@@ -38038,14 +38184,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)*4))
+ *(*uintptr)(unsafe.Pointer(ppPage)) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4))
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)*4)))) == 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)*4)))) == uintptr(0)) {
+ return walIndexPageRealloc(tls, pWal, iPage, ppPage)
}
return SQLITE_OK
}
@@ -38130,9 +38276,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 + 52 /* &.hdr */), nCksum, uintptr(0), pWal+52 /* &.hdr */ +40 /* &.aCksum */)
// Possible TSAN false-positive. See tag-20200519-1
- libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr) + 1*48), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{})))
+ libc.Xmemcpy(tls, (aHdr + 1*48), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{})))
walShmBarrier(tls, pWal)
- libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr)), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{})))
+ libc.Xmemcpy(tls, (aHdr), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{})))
}
// This function encodes a single frame header and writes it to a buffer
@@ -38694,9 +38840,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)) {
@@ -38709,10 +38855,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)
@@ -39102,7 +39248,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
@@ -39142,11 +39290,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 + 52 /* &.hdr */ + 32 /* &.aSalt */) + 1*4), bp /* &salt1 */, uint32(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
}
}
@@ -39214,7 +39362,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
}
@@ -39232,7 +39380,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
}
@@ -39247,7 +39395,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:
@@ -39274,10 +39422,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:
;
@@ -39286,9 +39434,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))
@@ -39390,7 +39538,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:
@@ -39420,7 +39568,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
@@ -39593,9 +39741,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)), uint32(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive
+ libc.Xmemcpy(tls, bp /* &h1 */, (aHdr), uint32(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive
walShmBarrier(tls, pWal)
- libc.Xmemcpy(tls, bp+48 /* &h2 */, (libc.AtomicLoadUintptr(&aHdr) + 1*48), uint32(unsafe.Sizeof(WalIndexHdr{})))
+ libc.Xmemcpy(tls, bp+48 /* &h2 */, (aHdr + 1*48), uint32(unsafe.Sizeof(WalIndexHdr{})))
if (libc.Xmemcmp(tls, bp /* &h1 */, bp+48 /* &h2 */, uint32(unsafe.Sizeof(WalIndexHdr{}))) != 0) {
return 1 // Dirty read
@@ -39672,7 +39820,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
@@ -40098,7 +40246,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.
@@ -40139,7 +40287,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
@@ -40151,7 +40299,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)
@@ -40209,9 +40357,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+52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{}))) != 0) {
walUnlockShared(tls, pWal, (3 + (mxI)))
return -1
@@ -40259,8 +40407,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, 12
// Hash table location
var pgno U32 // Page number in db file
@@ -40287,7 +40435,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))
}
}
@@ -40367,7 +40515,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+52 /* &.hdr */ +32 /* &.aSalt */, uint32(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 + 52 /* &.hdr */), pSnapshot, uint32(unsafe.Sizeof(WalIndexHdr{})))
*(*int32)(unsafe.Pointer(pChanged)) = bChanged
@@ -40606,7 +40754,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)
@@ -40672,7 +40822,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 */)
@@ -41582,7 +41732,7 @@ type MemPage1 = struct {
FchildPtrSize U8
Fmax1bytePayload U8
FnOverflow U8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
FmaxLocal U16
FminLocal U16
FcellOffset U16
@@ -41846,11 +41996,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 */
@@ -43196,7 +43346,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 + 80 /* &.xParseCell */))))(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo)
+ (*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(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo)
}
// The following routines are implementations of the MemPage.xCellSize
@@ -43277,7 +43429,9 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
return
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.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)))) {
@@ -43460,7 +43614,9 @@ __18:
__21:
;
- size = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 76 /* &.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
@@ -43950,7 +44106,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 + 76 /* &.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)
@@ -44788,7 +44946,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 + 56 /* &.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)
@@ -45742,7 +45900,9 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
if int32(eType) == PTRMAP_OVERFLOW1 {
// var info CellInfo at bp, 20
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.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)
@@ -47548,7 +47708,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) &&
@@ -47558,12 +47720,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 + 80 /* &.xParseCell */))))(tls, pPage, pCellBody, (pCur + 28 /* &.info */))
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCellBody, (pCur + 28 /* &.info */))
nCell = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey)
// True if key size is 2^32 or more
// Invalid key size: 0x80 0x80 0x00
@@ -49227,7 +49393,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 + 76 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*4)))
+ *(*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)*4)))
} else {
}
@@ -49239,7 +49407,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 + 76 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*4)))
+ *(*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)*4)))
return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2))
}
@@ -49666,7 +49836,9 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
var pOut uintptr = (pSpace + 4)
*(*uintptr)(unsafe.Pointer(bp + 8 /* pCell */)) = *(*uintptr)(unsafe.Pointer((pPage + 36 /* &.apOvfl */)))
- *(*U16)(unsafe.Pointer(bp + 12 /* szCell */)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 76 /* &.xCellSize */))))(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 8 /* pCell */)))
+ *(*U16)(unsafe.Pointer(bp + 12 /* 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 + 8 /* pCell */)))
var pStop uintptr
// var b CellArray at bp+16, 64
@@ -50032,13 +50204,17 @@ __16:
}
*(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((pParent + 36 /* &.apOvfl */)))
*(*Pgno)(unsafe.Pointer(bp + 180 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)))
- *(*int32)(unsafe.Pointer(bp + 28 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 76 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4))))
+ *(*int32)(unsafe.Pointer(bp + 28 /* &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 + 20 /* &apDiv[0] */ + uintptr(i)*4))))
(*MemPage)(unsafe.Pointer(pParent)).FnOverflow = U8(0)
goto __18
__17:
*(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)) = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow))))))))))))
*(*Pgno)(unsafe.Pointer(bp + 180 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)))
- *(*int32)(unsafe.Pointer(bp + 28 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 76 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4))))
+ *(*int32)(unsafe.Pointer(bp + 28 /* &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 + 20 /* &apDiv[0] */ + uintptr(i)*4))))
// Drop the cell from the parent page. apDiv[i] still points to
// the cell within the parent, even though it has been dropped.
@@ -50300,7 +50476,9 @@ __46:
if !(j < int32((*MemPage)(unsafe.Pointer(p)).FnOverflow)) {
goto __48
}
- *(*int32)(unsafe.Pointer(bp + 28 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((p + 76 /* &.xCellSize */))))(tls, p, *(*uintptr)(unsafe.Pointer((p + 36 /* &.apOvfl */) + uintptr(j)*4)))))
+ *(*int32)(unsafe.Pointer(bp + 28 /* &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 + 36 /* &.apOvfl */) + uintptr(j)*4)))))
goto __47
__47:
j++
@@ -50804,7 +50982,9 @@ __118:
goto __120
}
j--
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pNew2 + 80 /* &.xParseCell */))))(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+72 /* &b */)).FapCell + uintptr(j)*4)), bp+236 /* &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+72 /* &b */)).FapCell + uintptr(j)*4)), bp+236 /* &info */)
pCell1 = pTemp1
sz2 = (4 + Xsqlite3PutVarint(tls, (pCell1+4), uint64((*CellInfo)(unsafe.Pointer(bp+236 /* &info */)).FnKey)))
pTemp1 = uintptr(0)
@@ -50825,7 +51005,9 @@ __120:
goto __122
}
- sz2 = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 76 /* &.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:
@@ -51621,7 +51803,9 @@ __25:
if !(((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*int32)(unsafe.Pointer(bp + 76 /* szNew */)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal))) {
goto __26
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, newCell, bp+52 /* &info */)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+52 /* &info */)
if !((*CellInfo)(unsafe.Pointer(bp+52 /* &info */)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+52 /* &info */)).FnLocal)) {
goto __27
}
@@ -51662,7 +51846,9 @@ __31:
libc.Xmemcpy(tls, newCell, oldCell, uint32(4))
__32:
;
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, oldCell, bp+80 /* &info1 */)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+80 /* &info1 */)
if !(U32((*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+80 /* &info1 */)).FnPayload) {
goto __33
}
@@ -52031,7 +52217,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit
if *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) != 0 {
return *(*int32)(unsafe.Pointer(bp + 20 /* rc */))
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.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 + 20 /* rc */)) = clearCellOverflow(tls, pPage, pCell, bp /* &info */)
} else {
@@ -52069,7 +52257,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 + 76 /* &.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
@@ -52341,7 +52531,9 @@ __8:
;
__7:
;
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */)) + 80 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+4 /* &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+4 /* &info */)
if !(U32((*CellInfo)(unsafe.Pointer(bp+4 /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+4 /* &info */)).FnPayload) {
goto __9
}
@@ -53072,7 +53264,9 @@ __9:
__12:
;
pCell = (data + uintptr(pc))
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 80 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+108 /* &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+108 /* &info */)
if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+108 /* &info */)).FnSize)) > usableSize) {
goto __13
}
@@ -53173,7 +53367,9 @@ __24:
goto __26
}
pc = U32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((data + uintptr((cellStart + (i * 2))))))))
- size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 76 /* &.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:
@@ -54558,7 +54754,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 + 36 /* &.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
@@ -54720,7 +54916,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 {
(*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = bp + 32 /* &t */
(*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pMem
(*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 20 /* &.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)
@@ -54746,7 +54942,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 + 24 /* &.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
}
@@ -54765,7 +54961,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 + 36 /* &.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)
}
@@ -54972,7 +55168,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 {
@@ -55626,7 +55822,9 @@ __9:
libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint32(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 + 16 /* &.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
}
@@ -57928,7 +58126,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 + 28 /* &.xClose */))))(tls, pVCur)
+ (*struct {
+ f func(*libc.TLS, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxClose})).f(tls, pVCur)
break
}
@@ -58097,7 +58297,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 + 224 /* &.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))
}
@@ -58694,7 +58896,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 + 12 /* &.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)
@@ -59236,7 +59438,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 + 12 /* &.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
@@ -59257,7 +59461,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 + 12 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+40 /* &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+40 /* &c2 */)).Fn, v2)
}
Xsqlite3VdbeMemRelease(tls, bp /* &c1 */)
Xsqlite3VdbeMemRelease(tls, bp+40 /* &c2 */)
@@ -60279,7 +60485,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 + 252 /* &.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)
@@ -60360,10 +60568,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 + 212 /* &.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 + 204 /* &.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 + 204 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */)
}
(*Vdbe)(unsafe.Pointer(p)).FstartTime = int64(0)
}
@@ -60673,7 +60885,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
@@ -60845,7 +61057,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 + 260 /* &.xWalCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).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)*16)).FzDbSName, nEntry)
}
}
}
@@ -61252,7 +61466,7 @@ __6:
if !((*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux != 0) {
goto __10
}
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAuxData + 12 /* &.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:
@@ -61266,7 +61480,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:
}
@@ -61615,7 +61829,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
}
@@ -61674,7 +61888,7 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr,
Xsqlite3VdbeMemSetPointer(tls, ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((i-1))*40), 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
}
@@ -65917,7 +66131,9 @@ __185:
}
nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps))
- if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 356 /* &.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))
@@ -66519,7 +66735,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 + 204 /* &.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 + 204 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0))
__221:
;
@@ -70820,7 +71038,9 @@ __639:
goto __640
}
- (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 240 /* &.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
@@ -70968,7 +71188,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 + 240 /* &.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:
@@ -71160,7 +71382,9 @@ __659:
pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 40 /* &.uc */)))).FpVtab
pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule
- rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 48 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 40 /* &.uc */)), bp+420 /* &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 + 40 /* &.uc */)), bp+420 /* &v3 */)
Xsqlite3VtabImportErrmsg(tls, p, pVtab)
if !(rc != 0) {
goto __663
@@ -71461,7 +71685,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 + 40 /* &.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 + 40 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3)
next_tail:
(*VdbeCursor)(unsafe.Pointer(pC20)).FcacheStatus = U32(CACHE_STALE)
@@ -72841,10 +73067,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 + 28 /* &.xInverse */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+28 /* &.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+28 /* &.argv */)
goto __781
__780:
- (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 16 /* &.xSFunc */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+28 /* &.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+28 /* &.argv */)
__781:
; // IMP: R-24505-23230
@@ -73355,7 +73585,9 @@ __171:
__822:
;
pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule
- rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 24 /* &.xOpen */))))(tls, pVtab1, bp+668 /* &pVCur */)
+ rc = (*struct {
+ f func(*libc.TLS, uintptr, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxOpen})).f(tls, pVtab1, bp+668 /* &pVCur */)
Xsqlite3VtabImportErrmsg(tls, p, pVtab1)
if !(rc != 0) {
goto __823
@@ -73377,7 +73609,9 @@ __823:
goto __825
__824:
;
- (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 28 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 668 /* pVCur */)))
+ (*struct {
+ f func(*libc.TLS, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxClose})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 668 /* pVCur */)))
goto no_mem
__825:
;
@@ -73432,7 +73666,9 @@ __827:
goto __828
__828:
;
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pModule2 + 32 /* &.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
@@ -73440,7 +73676,9 @@ __828:
goto abort_due_to_error
__829:
;
- res13 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule2 + 40 /* &.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) {
@@ -73494,7 +73732,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 + 44 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 40 /* &.uc */)), bp+672 /* &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 + 40 /* &.uc */)), bp+672 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2)
Xsqlite3VtabImportErrmsg(tls, p, pVtab3)
if !((*Sqlite3_context)(unsafe.Pointer(bp+672 /* &sContext */)).FisError > 0) {
goto __834
@@ -73543,7 +73783,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 + 36 /* &.xNext */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 40 /* &.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 + 40 /* &.uc */)))
Xsqlite3VtabImportErrmsg(tls, p, pVtab4)
if !(rc != 0) {
goto __838
@@ -73551,7 +73793,9 @@ __837:
goto abort_due_to_error
__838:
;
- res14 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 40 /* &.xEof */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 40 /* &.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 + 40 /* &.uc */)))
if !(!(res14 != 0)) {
goto __839
@@ -73581,7 +73825,9 @@ __175:
goto abort_due_to_error
__840:
;
- rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule + 76 /* &.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
}
@@ -73667,7 +73913,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 + 52 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+704 /* &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+704 /* &rowid1 */)
(*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict
Xsqlite3VtabImportErrmsg(tls, p, pVtab6)
if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) {
@@ -73821,7 +74069,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 + 16 /* &.xSFunc */))))(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+28 /* &.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+28 /* &.argv */) // IMP: R-24505-23230
// If the function returned an error, throw an exception
if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0) {
@@ -73913,7 +74163,9 @@ __182:
goto __867
}
z2 = Xsqlite3VdbeExpandSql(tls, p, zTrace)
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((db + 204 /* &.trace */ /* &.xLegacy */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 204 /* &.trace */))})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2)
Xsqlite3_free(tls, z2)
goto __868
__867:
@@ -73921,11 +74173,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 + 204 /* &.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 + 204 /* &.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 + 204 /* &.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 + 204 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace)
__870:
;
__868:
@@ -74055,7 +74311,9 @@ __883:
goto __884
}
nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps))
- if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 356 /* &.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))
@@ -74121,15 +74379,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
- _ [2]byte
- FpCsr uintptr
- FpStmt uintptr
- Fdb uintptr
- FzDb uintptr
- FpTab uintptr
+ FnByte int32
+ FiOffset int32
+ FiCol U16
+ F__ccgo_pad1 [2]byte
+ FpCsr uintptr
+ FpStmt uintptr
+ Fdb uintptr
+ FzDb uintptr
+ FpTab uintptr
} /* sqlite3.c:94829:9 */
//************* End of vdbe.c ***********************************************
@@ -74638,7 +74896,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)
@@ -75937,7 +76197,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 + 32 /* &.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+4 /* &bCached */, ((p1) + uintptr(1)*8), (*SorterRecord)(unsafe.Pointer(p1)).FnVal, ((p2) + uintptr(1)*8), (*SorterRecord)(unsafe.Pointer(p2)).FnVal)
if res <= 0 {
@@ -76208,7 +76470,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 + 32 /* &.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)
}
@@ -76617,7 +76881,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 + 32 /* &.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
@@ -77720,7 +77986,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 + 4 /* &.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)
}
@@ -77904,7 +78172,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 + 8 /* &.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)
}
@@ -77913,7 +78183,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 + 12 /* &.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
}
@@ -78957,7 +79229,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().
@@ -85498,7 +85770,9 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x
(*Expr)(unsafe.Pointer(bp + 52 /* &compRight */)).FpRight = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) + 8 /* &.a */) + 1*20)).FpExpr
exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+156 /* &regFree1 */))
if xJump != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&xJump)))(tls, pParse, bp+104 /* &exprAnd */, dest, jumpIfNull)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, int32, int32)
+ })(unsafe.Pointer(&struct{ uintptr }{xJump})).f(tls, pParse, bp+104 /* &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
@@ -89643,24 +89917,24 @@ 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
- 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
+ FaBest uintptr
+ FiMin int32
+ FnSample int32
+ FnMaxEqZero int32
+ FiGet int32
+ Fa uintptr
} /* sqlite3.c:109861:9 */
// Recommended number of samples for sqlite_stat4
@@ -89670,15 +89944,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 */
@@ -92105,7 +92379,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 + 348 /* &.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) {
@@ -92193,7 +92469,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 + 348 /* &.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
@@ -94642,7 +94920,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 + 92 /* &.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
@@ -98216,7 +98496,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 + 268 /* &.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 {
@@ -98225,7 +98507,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq
Xsqlite3ValueSetStr(tls, pTmp, -1, zName, uint8(SQLITE_UTF8), uintptr(0))
zExternal = Xsqlite3ValueText(tls, pTmp, uint8(SQLITE_UTF16LE))
if zExternal != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 272 /* &.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)
}
@@ -100170,7 +100454,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
}
@@ -101243,12 +101527,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
- _ [2]byte
+ FrSum float64
+ FiSum I64
+ Fcnt I64
+ Foverflow U8
+ Fapprox U8
+ F__ccgo_pad1 [2]byte
} /* sqlite3.c:120823:9 */
// An instance of the following structure holds the context of a
@@ -104860,8 +105144,8 @@ type IndexIterator1 = struct {
FeType int32
Fi int32
Fu struct {
- Flx struct{ FpIdx uintptr }
- _ [4]byte
+ Flx struct{ FpIdx uintptr }
+ F__ccgo_pad1 [4]byte
}
} /* sqlite3.c:124491:9 */
@@ -106606,7 +106890,9 @@ __18:
*(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*4)) = 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
@@ -107211,7 +107497,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
}
@@ -107438,7 +107726,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
@@ -111260,9 +111550,9 @@ pragma_out:
}
type EncName = struct {
- FzName uintptr
- Fenc U8
- _ [3]byte
+ FzName uintptr
+ Fenc U8
+ F__ccgo_pad1 [3]byte
} /* sqlite3.c:130282:18 */
var iLn3 int32 = 0 /* sqlite3.c:128958:22 */
@@ -111320,12 +111610,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
- _ [2]byte
+ Fbase Sqlite3_vtab
+ Fdb uintptr
+ FpName uintptr
+ FnHidden U8
+ FiHidden U8
+ F__ccgo_pad1 [2]byte
} /* sqlite3.c:130740:9 */
// ****************************************************************************
@@ -112287,7 +112577,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 + 8 /* &.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)
@@ -112341,7 +112633,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
@@ -112748,11 +113042,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 ********************************************
@@ -112802,7 +113096,7 @@ type SortCtx1 = struct {
FlabelDone int32
FlabelOBLopt int32
FsortFlags U8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
FpDeferredRowLoad uintptr
} /* sqlite3.c:132119:9 */
@@ -112824,9 +113118,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
@@ -124875,7 +125169,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
@@ -124919,7 +125213,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 + 16 /* &.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)
@@ -124957,7 +125251,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 + 16 /* &.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)
}
@@ -125298,7 +125594,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 + 8 /* &.pVtab */), bp+48 /* &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 + 8 /* &.pVtab */), bp+48 /* &zErr */)
(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior
if rc == SQLITE_NOMEM {
Xsqlite3OomFault(tls, db)
@@ -125591,7 +125889,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 {
@@ -125623,7 +125923,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
@@ -125649,7 +125951,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)*4)))).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)
}
}
@@ -125707,13 +126011,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 + 56 /* &.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 + 80 /* &.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))
}
}
}
@@ -125760,7 +126068,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)
}
@@ -125819,7 +126129,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 + 72 /* &.xFindFunction */))))(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+4 /* &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+4 /* &pArg */)
if rc == 0 {
return pDef
}
@@ -126047,15 +126359,15 @@ 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
- Fa uintptr
- FaStatic [8]WhereTerm
+ FpWInfo uintptr
+ FpOuter uintptr
+ Fop U8
+ FhasOr U8
+ F__ccgo_pad1 [2]byte
+ FnTerm int32
+ FnSlot int32
+ Fa uintptr
+ FaStatic [8]WhereTerm
} /* sqlite3.c:14936:9 */
//************* End of vtab.c ***********************************************
@@ -126163,7 +126475,7 @@ type WhereLoop1 = struct {
FnLTerm U16
FnSkip U16
FnLSlot U16
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FaLTerm uintptr
FpNextLoop uintptr
FaLTermSpace [3]uintptr
@@ -126171,14 +126483,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 */
@@ -126204,34 +126516,34 @@ 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
+ 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
} /* sqlite3.c:144525:9 */
type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:144525:33 */
type WhereScan1 = struct {
- FpOrigWC uintptr
- FpWC uintptr
- FzCollName uintptr
- FpIdxExpr uintptr
- Fidxaff int8
- 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 int8
+ 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 */
@@ -126243,9 +126555,9 @@ type WhereOrCost1 = struct {
type WhereOrCost = WhereOrCost1 /* sqlite3.c:144527:28 */
type WhereOrSet1 = struct {
- Fn U16
- _ [2]byte
- Fa [3]WhereOrCost
+ Fn U16
+ F__ccgo_pad1 [2]byte
+ Fa [3]WhereOrCost
} /* sqlite3.c:144525:9 */
type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */
@@ -126264,12 +126576,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
@@ -128804,7 +129116,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 + 72 /* &.xFindFunction */))))(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+4 /* &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+4 /* &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*20)).FpExpr
@@ -128848,9 +129162,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin
}
type Op2 = struct {
- FzOp uintptr
- FeOp2 uint8
- _ [3]byte
+ FzOp uintptr
+ FeOp2 uint8
+ F__ccgo_pad1 [3]byte
} /* sqlite3.c:147955:18 */
var aOp = [4]Op2{
@@ -131295,7 +131609,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 + 12 /* &.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 {
@@ -135704,9 +136020,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 {
@@ -135718,26 +136034,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
@@ -139097,8 +139413,8 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
// YY_MAX_REDUCE Maximum value for reduce actions
//************ Begin control #defines ****************************************
type YYMINORTYPE = struct {
- Fyyinit int32
- _ [4]byte
+ Fyyinit int32
+ F__ccgo_pad1 [4]byte
} /* sqlite3.c:158494:3 */
//************ End control #defines ******************************************
@@ -145498,7 +145814,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 + 4 /* &.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)
}
}
@@ -145560,7 +145876,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 + 204 /* &.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 + 204 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0))
}
// Force xDisconnect calls on all virtual tables
@@ -145709,7 +146027,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)*20)).FxDel != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pColl + uintptr(j)*20 + 16 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*20)).FpUser)
+ (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl + uintptr(j)*20)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*20)).FpUser)
}
}
Xsqlite3DbFree(tls, db, pColl)
@@ -145790,7 +146108,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 + 232 /* &.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)
}
}
@@ -145910,7 +146228,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 {
@@ -146089,7 +146409,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:
;
@@ -146104,7 +146424,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:
;
@@ -146618,7 +146938,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
var p uintptr = (aColl + uintptr(j)*20)
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 + 16 /* &.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)
}
@@ -147981,7 +148301,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
}
@@ -148693,7 +149013,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
@@ -148780,7 +149102,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
}
@@ -148818,7 +149142,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
}
}
@@ -148842,7 +149168,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
@@ -149471,24 +149799,24 @@ var jsonIsSpace = [256]int8{
// Objects
type JsonString1 = struct {
- FpCtx uintptr
- FzBuf uintptr
- FnAlloc U64
- FnUsed U64
- FbStatic U8
- FbErr U8
- FzSpace [100]int8
- _ [2]byte
+ FpCtx uintptr
+ FzBuf uintptr
+ FnAlloc U64
+ FnUsed U64
+ FbStatic U8
+ FbErr U8
+ FzSpace [100]int8
+ 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 */
@@ -151673,17 +152001,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
- _ [2]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 [2]byte
+ FzJson uintptr
+ FzRoot uintptr
+ FsParse JsonParse
} /* sqlite3.c:191683:9 */
// ***************************************************************************
@@ -152299,7 +152627,7 @@ type Rtree1 = struct {
FinWrTrans U8
FnAux U8
FnAuxNotNull U8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
FiDepth int32
FzDb uintptr
FzName uintptr
@@ -152338,7 +152666,7 @@ type RtreeCursor1 = struct {
FatEOF U8
FbPoint U8
FbAuxValid U8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
FiStrategy int32
FnConstraint int32
FaConstraint uintptr
@@ -152398,12 +152726,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
- _ [1]byte
+ FrScore RtreeDValue
+ Fid Sqlite3_int64
+ FiLevel U8
+ FeWithin U8
+ FiCell U8
+ F__ccgo_pad1 [1]byte
} /* sqlite3.c:192363:9 */
type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:192370:33 */
@@ -152916,7 +153244,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)*20)).FpInfo
if pInfo != 0 {
if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 16 /* &.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)
}
@@ -153052,7 +153380,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe
}
if (*RtreeConstraint)(unsafe.Pointer(pConstraint)).Fop == RTREE_MATCH {
*(*int32)(unsafe.Pointer(bp + 84 /* 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+4 /* &aCoord[0] */, bp+84 /* &eWithin */)
if *(*int32)(unsafe.Pointer(bp + 84 /* eWithin */)) == 0 {
*(*int32)(unsafe.Pointer(peWithin)) = NOT_WITHIN
@@ -153063,7 +153393,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+48 /* &.rParentScore */, (*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FrScore)
(*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin = libc.AssignPtrInt32(pInfo+56 /* &.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
}
@@ -154449,7 +154781,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: */
@@ -157539,14 +157873,14 @@ type GeoEvent1 = struct {
// 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
- FpNext uintptr
+ FC float64
+ FB float64
+ Fy float64
+ Fy0 float32
+ Fside uint8
+ F__ccgo_pad1 [3]byte
+ Fidx uint32
+ FpNext uintptr
} /* sqlite3.c:197516:9 */
type GeoSegment = GeoSegment1 /* sqlite3.c:197517:27 */
@@ -158658,11 +158992,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; (uint32(i) < (uint32(unsafe.Sizeof(aFunc1)) / uint32(unsafe.Sizeof(struct {
- FxFunc uintptr
- FnArg int8
- FbPure uint8
- _ [2]byte
- FzName uintptr
+ FxFunc uintptr
+ FnArg int8
+ FbPure uint8
+ F__ccgo_pad1 [2]byte
+ FzName uintptr
}{})))) && (rc == SQLITE_OK); i++ {
var enc int32
if aFunc1[i].FbPure != 0 {
@@ -158690,11 +159024,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409
}
var aFunc1 = [12]struct {
- FxFunc uintptr
- FnArg int8
- FbPure uint8
- _ [2]byte
- FzName uintptr
+ FxFunc uintptr
+ FnArg int8
+ FbPure uint8
+ F__ccgo_pad1 [2]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" */},
@@ -158763,7 +159097,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 + 8 /* &.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)
}
@@ -159269,7 +159603,7 @@ type sqlite3rbu = struct {
FzRbu uintptr
FzState uintptr
FzStateDb [5]int8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
Frc int32
FzErrmsg uintptr
FnStep int32
@@ -159886,7 +160220,7 @@ type rbu_file = struct {
FiCookie U32
FiWriteVer U8
FbNolock U8
- _ [2]byte
+ F__ccgo_pad1 [2]byte
FnShm int32
FapShm uintptr
FzDel uintptr
@@ -162423,9 +162757,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, 4
- (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 52 /* &.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
@@ -162514,7 +162850,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 + 44 /* &.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 {
@@ -162525,7 +162863,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 + 20 /* &.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)
}
}
}
@@ -162586,22 +162926,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 + 8 /* &.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 + 12 /* &.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 + 28 /* &.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 + 28 /* &.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)
}
}
@@ -163108,15 +163456,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 + 20 /* &.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, 4
- (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 52 /* &.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
}
}
@@ -163221,7 +163573,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 + 28 /* &.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)
}
}
@@ -163598,7 +163952,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 + 20 /* &.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)
@@ -163722,7 +164078,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 + 20 /* &.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
@@ -163818,7 +164176,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)
@@ -163922,13 +164282,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 + 64 /* &.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 + 4 /* &.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
}
@@ -163971,7 +164335,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq
rc = SQLITE_OK
libc.Xmemset(tls, zBuf, 0, uint32(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 + 8 /* &.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,
@@ -163981,7 +164347,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 + 8 /* &.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
@@ -164040,7 +164408,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 + 12 /* &.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.
@@ -164061,7 +164431,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 + 16 /* &.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.
@@ -164073,14 +164445,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 + 20 /* &.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 + 24 /* &.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
@@ -164106,7 +164482,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 + 28 /* &.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
@@ -164115,13 +164493,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 + 32 /* &.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 + 36 /* &.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.
@@ -164139,13 +164521,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)
@@ -164167,7 +164553,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))
@@ -164184,13 +164572,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 + 44 /* &.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 + 48 /* &.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.
@@ -164214,7 +164606,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 + 56 /* &.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 + 188 /* &.mLock */)) |= (U32(((int32(1) << n) - 1) << ofst))
}
@@ -164267,13 +164661,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)*4))
+ *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*4))
} 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 + 52 /* &.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
@@ -164282,7 +164678,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 + 60 /* &.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.
@@ -164301,7 +164697,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 + 64 /* &.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
}
@@ -164356,7 +164754,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 + 24 /* &.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
@@ -164396,7 +164796,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 + 28 /* &.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
@@ -164409,7 +164811,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 + 32 /* &.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,
@@ -164446,13 +164850,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 + 36 /* &.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 + 40 /* &.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
@@ -164460,39 +164868,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 + 44 /* &.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 + 48 /* &.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 + 52 /* &.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 + 56 /* &.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 + 60 /* &.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 + 64 /* &.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.
@@ -164743,13 +165163,13 @@ type SessionTable1 = struct {
type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */
type SessionChange1 = struct {
- Fop U8
- FbIndirect U8
- _ [2]byte
- FnMaxSize int32
- FnRecord int32
- FaRecord uintptr
- FpNext uintptr
+ Fop U8
+ FbIndirect U8
+ F__ccgo_pad1 [2]byte
+ FnMaxSize int32
+ FnRecord int32
+ FaRecord uintptr
+ FpNext uintptr
} /* sqlite3.c:11155:9 */
type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */
@@ -165015,9 +165435,13 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in
// var pVal uintptr at bp, 4
if bNew != 0 {
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.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 + 64 /* &.hook */ + 4 /* &.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
@@ -165336,10 +165760,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 + 64 /* &.hook */ + 8 /* &.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 + 64 /* &.hook */ + 4 /* &.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 {
@@ -165623,7 +166051,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 */ + 4 /* &.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
}
@@ -165637,7 +166067,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 */ + 8 /* &.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
}
@@ -165647,12 +166079,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 */ + 12 /* &.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 */ + 16 /* &.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: */
@@ -165665,7 +166101,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 + 64 /* &.hook */ + 8 /* &.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+4 /* &nNew */)
}
}
@@ -165682,7 +166120,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt
var nOld int32 = 0
var eType int32
*(*uintptr)(unsafe.Pointer(bp + 12 /* p */)) = uintptr(0)
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+12 /* &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+12 /* &p */)
if *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)) == uintptr(0) {
return SQLITE_NOMEM
}
@@ -165810,7 +166250,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 + 64 /* &.hook */ + 12 /* &.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
@@ -165913,14 +166355,18 @@ __16:
if !(op != SQLITE_INSERT) {
goto __19
}
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &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+32 /* &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 + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &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+32 /* &p1 */)
__21:
;
@@ -165972,13 +166418,17 @@ __25:
if !(op != SQLITE_INSERT) {
goto __28
}
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+44 /* &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+44 /* &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 + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+44 /* &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+44 /* &p2 */)
__30:
;
__29:
@@ -165993,7 +166443,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 + 64 /* &.hook */ + 16 /* &.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)
@@ -166011,7 +166463,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 + 64 /* &.hook */ + 16 /* &.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
}
@@ -166063,7 +166517,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 + 32 /* &.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 {
@@ -167274,7 +167730,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
(*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK)) &&
((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > nNoop)) &&
((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > sessions_strm_chunk_size) {
- *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct {
+ f func(*libc.TLS, uintptr, uintptr, int32) int32
+ })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf)
nNoop = -1
(*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = 0
}
@@ -167296,7 +167754,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
*(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf
(*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf = uintptr(0)
} else if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct {
+ f func(*libc.TLS, uintptr, uintptr, int32) int32
+ })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf)
}
}
@@ -167497,7 +167957,9 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli
sessionDiscardData(tls, pIn)
}
if SQLITE_OK == sessionBufferGrow(tls, (pIn+20 /* &.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 + 32 /* &.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 {
@@ -168364,7 +168826,9 @@ __6:
if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) {
goto __28
}
- *(*int32)(unsafe.Pointer(bp + 32 /* 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 + 32 /* 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 + 32 /* rc */)) != SQLITE_OK) {
goto __29
@@ -168389,7 +168853,9 @@ __30:
if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) {
goto __32
}
- *(*int32)(unsafe.Pointer(bp + 32 /* 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 + 32 /* 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:
@@ -168461,7 +168927,7 @@ type SessionApplyCtx1 = struct {
Frebase SessionBuffer
FbRebaseStarted U8
FbRebase U8
- _ [2]byte
+ F__ccgo_pad1 [2]byte
} /* sqlite3.c:210362:9 */
type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */
@@ -168807,7 +169273,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, 4
- (*(*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.
@@ -168976,7 +169444,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr
if *(*int32)(unsafe.Pointer(bp + 12 /* 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 + 12 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect)
} else if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK {
@@ -168989,7 +169459,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 + 12 /* rc */)) = SQLITE_MISUSE
}
@@ -169344,7 +169816,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 + 124 /* 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 + 124 /* zNew */))))))
if schemaMismatch != 0 {
*(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */))))
if *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0) {
@@ -169435,7 +169909,9 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
libc.Xmemset(tls, bp+152 /* &sIter */, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{})))
(*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 152 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 144 /* nFk */))
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */)
+ res = (*struct {
+ f func(*libc.TLS, uintptr, int32, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */)
if res != SQLITE_CHANGESET_OMIT {
rc = SQLITE_CONSTRAINT
}
@@ -169846,7 +170322,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut
sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+12 /* &rc */)
sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+12 /* &rc */)
if ((*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) {
- *(*int32)(unsafe.Pointer(bp + 12 /* 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 + 12 /* 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
}
}
@@ -169856,7 +170334,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut
if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK {
if xOutput != 0 {
if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 12 /* 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 + 12 /* 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
@@ -170197,7 +170677,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu
sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */)
}
if ((*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > sessions_strm_chunk_size) {
- *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct {
+ f func(*libc.TLS, uintptr, uintptr, int32) int32
+ })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf)
(*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf = 0
}
if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 {
@@ -170213,7 +170695,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu
if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK {
if xOutput != 0 {
if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct {
+ f func(*libc.TLS, uintptr, uintptr, int32) int32
+ })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf)
}
} else {
*(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf
@@ -170523,13 +171007,13 @@ type Fts5Buffer1 = struct {
type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:213265:27 */
type Fts5PoslistReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FbFlag U8
- FbEof U8
- _ [2]byte
- FiPos I64
+ Fa uintptr
+ Fn int32
+ Fi int32
+ FbFlag U8
+ FbEof U8
+ F__ccgo_pad1 [2]byte
+ FiPos I64
} /* sqlite3.c:213118:9 */
type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:213301:34 */
@@ -170585,11 +171069,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 */
@@ -170852,8 +171336,8 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:213734:37 */
// fts5YY_MAX_REDUCE Maximum value for reduce actions
//************ Begin control #defines ****************************************
type Fts5YYMINORTYPE = struct {
- Ffts5yyinit int32
- _ [4]byte
+ Ffts5yyinit int32
+ F__ccgo_pad1 [4]byte
} /* sqlite3.c:214010:3 */
//************ End control #defines ******************************************
@@ -170991,10 +171475,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
- _ [2]byte
- Fminor Fts5YYMINORTYPE
+ Fstateno uint8
+ Fmajor uint8
+ F__ccgo_pad1 [2]byte
+ Fminor Fts5YYMINORTYPE
} /* sqlite3.c:214190:1 */
type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:214197:33 */
@@ -171037,7 +171521,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)
@@ -171135,7 +171619,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.
@@ -171745,10 +172229,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 + 36 /* &.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 + 28 /* &.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
@@ -171776,7 +172264,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 + 32 /* &.xInstCount */))))(tls, pFts, (pIter + 16 /* &.nInst */))
+ rc = (*struct {
+ f func(*libc.TLS, uintptr, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, (pIter + 16 /* &.nInst */))
if rc == SQLITE_OK {
rc = fts5CInstIterNext(tls, pIter)
@@ -171904,7 +172394,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
libc.Xmemset(tls, bp /* &ctx */, 0, uint32(unsafe.Sizeof(HighlightContext{})))
(*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4)))
(*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzClose = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*4)))
- *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 44 /* &.xColumnText */))))(tls, pFts, iCol, (bp /* &ctx */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */))
+ *(*int32)(unsafe.Pointer(bp + 64 /* 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 */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */))
if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 {
if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK {
@@ -171912,7 +172404,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
}
if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 20 /* &.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 + 64 /* 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})))
}
@@ -172020,9 +172514,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 + 32 /* &.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 + 36 /* &.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 {
@@ -172034,7 +172532,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 + 28 /* &.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 */))))
}
}
@@ -172093,7 +172593,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
return
}
- nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.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, uint32(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*4)))
@@ -172107,13 +172609,17 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
}
return 0
}()
- nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.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 + 120 /* rc */)) = SQLITE_NOMEM
}
if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xInstCount */))))(tls, pFts, bp+64 /* &nInst */)
+ *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct {
+ f func(*libc.TLS, uintptr, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+64 /* &nInst */)
}
libc.Xmemset(tls, bp+68 /* &sFinder */, 0, uint32(unsafe.Sizeof(Fts5SFinder{})))
@@ -172126,18 +172632,24 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
var ii int32
(*Fts5SFinder)(unsafe.Pointer(bp + 68 /* &sFinder */)).FiPos = 0
(*Fts5SFinder)(unsafe.Pointer(bp + 68 /* &sFinder */)).FnFirst = 0
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 44 /* &.xColumnText */))))(tls, pFts, i, (bp + 68 /* &sFinder */ + 16 /* &.zDoc */), bp+88 /* &nDoc */)
+ *(*int32)(unsafe.Pointer(bp + 120 /* 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 + 68 /* &sFinder */ + 16 /* &.zDoc */), bp+88 /* &nDoc */)
if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) != SQLITE_OK {
break
}
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 20 /* &.xTokenize */))))(tls, pFts,
+ *(*int32)(unsafe.Pointer(bp + 120 /* 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+68 /* &sFinder */)).FzDoc, *(*int32)(unsafe.Pointer(bp + 88 /* nDoc */)), bp+68 /* &sFinder */, *(*uintptr)(unsafe.Pointer(&struct {
f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32
}{fts5SentenceFinderCb})))
if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) != SQLITE_OK {
break
}
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xColumnSize */))))(tls, pFts, i, bp+92 /* &nDocsize */)
+ *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct {
+ f func(*libc.TLS, uintptr, int32, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+92 /* &nDocsize */)
if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) != SQLITE_OK {
break
}
@@ -172155,7 +172667,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
var jj int32
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 36 /* &.xInst */))))(tls, pFts, ii, bp+96 /* &ip */, bp+100 /* &ic */, bp+104 /* &io */)
+ *(*int32)(unsafe.Pointer(bp + 120 /* 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+96 /* &ip */, bp+100 /* &ic */, bp+104 /* &io */)
if *(*int32)(unsafe.Pointer(bp + 100 /* ic */)) != i {
continue
}
@@ -172206,10 +172720,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
}
if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 44 /* &.xColumnText */))))(tls, pFts, iBestCol, (bp /* &ctx */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */))
+ *(*int32)(unsafe.Pointer(bp + 120 /* 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 */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */))
}
if (*(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 116 /* nColSize */)) == 0) {
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xColumnSize */))))(tls, pFts, iBestCol, bp+116 /* &nColSize */)
+ *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct {
+ f func(*libc.TLS, uintptr, int32, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, iBestCol, bp+116 /* &nColSize */)
}
if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 {
if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK {
@@ -172230,7 +172748,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
}
if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 20 /* &.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 + 120 /* 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})))
}
@@ -172287,7 +172807,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 + 60 /* &.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
@@ -172296,7 +172818,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 + 24 /* &.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(uint32(unsafe.Sizeof(Fts5Bm25Data{})) + ((uint32(nPhrase * 2)) * uint32(unsafe.Sizeof(float64(0))))))
p = Xsqlite3_malloc64(tls, uint64(nByte))
if p == uintptr(0) {
@@ -172310,11 +172834,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 + 12 /* &.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 + 16 /* &.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 */))))
@@ -172323,7 +172851,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 + 52 /* &.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 {
@@ -172351,7 +172881,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 + 56 /* &.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)
@@ -172383,7 +172915,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, (uint32(unsafe.Sizeof(float64(0))) * uint32((*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FnPhrase)))
- rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xInstCount */))))(tls, pFts, bp+4 /* &nInst */)
+ rc = (*struct {
+ f func(*libc.TLS, uintptr, uintptr) int32
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+4 /* &nInst */)
}
for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 4 /* nInst */))); i++ {
// var ip int32 at bp+8, 4
@@ -172392,7 +172926,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n
// var io int32 at bp+16, 4
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 36 /* &.xInst */))))(tls, pFts, i, bp+8 /* &ip */, bp+12 /* &ic */, bp+16 /* &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+8 /* &ip */, bp+12 /* &ic */, bp+16 /* &io */)
if rc == SQLITE_OK {
var w float64
if nVal > *(*int32)(unsafe.Pointer(bp + 12 /* ic */)) {
@@ -172408,7 +172944,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n
if rc == SQLITE_OK {
// var nTok int32 at bp+20, 4
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xColumnSize */))))(tls, pFts, -1, bp+20 /* &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+20 /* &nTok */)
D = float64(*(*int32)(unsafe.Pointer(bp + 20 /* nTok */)))
}
@@ -172443,7 +172981,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(uint32(unsafe.Sizeof([3]Builtin{})) / uint32(unsafe.Sizeof(Builtin{}))))); i++ {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32)(unsafe.Pointer((pApi + 12 /* &.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)*16)).FzFunc,
(*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*16)).FpUserData,
(*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*16)).FxFunc,
@@ -173500,7 +174040,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 + 4 /* &.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)
@@ -173575,7 +174115,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 + 8 /* &.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)
}
@@ -173833,12 +174375,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
- _ [2]byte
- FzTerm uintptr
- FpIter uintptr
- FpSynonym uintptr
+ FbPrefix U8
+ FbFirst U8
+ F__ccgo_pad1 [2]byte
+ FzTerm uintptr
+ FpIter uintptr
+ FpSynonym uintptr
} /* sqlite3.c:213118:9 */
// 2014 May 31
@@ -175284,7 +175826,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 + 12 /* &.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
@@ -175312,7 +175856,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 + 12 /* &.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
@@ -175347,7 +175893,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 + 32 /* &.apChild */))) + 12 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.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 + 32 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))), bFromValid, iFrom)
if rc == SQLITE_OK {
rc = fts5ExprNodeTest_AND(tls, pExpr, pNode)
} else {
@@ -175364,14 +175912,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 + 12 /* &.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 + 12 /* &.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
@@ -175383,7 +175935,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 + 32 /* &.apChild */))) + 12 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.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 + 32 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))), bFromValid, iFrom)
if rc == SQLITE_OK {
rc = fts5ExprNodeTest_NOT(tls, pExpr, pNode)
}
@@ -175524,13 +176078,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 + 12 /* &.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 + 12 /* &.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
}
@@ -175544,7 +176102,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 + 12 /* &.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 {
@@ -177606,7 +178166,7 @@ type Fts5Iter1 = struct {
FnSeg int32
FbRev int32
FbSkipEmpty U8
- _ [3]byte
+ F__ccgo_pad1 [3]byte
FiSwitchRowid I64
FaFirst uintptr
FaSeg [1]Fts5SegIter
@@ -177642,7 +178202,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 */
@@ -177662,7 +178222,7 @@ type Fts5SegWriter1 = struct {
FbFirstRowidInDoclist U8
FbFirstRowidInPage U8
FbFirstTermInPage U8
- _ [1]byte
+ F__ccgo_pad1 [1]byte
FnLeafWritten int32
FnEmpty int32
FnDlidx int32
@@ -177697,9 +178257,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 */
@@ -179855,7 +180415,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 + 28 /* &.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
@@ -179889,7 +180451,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 + 68 /* &.aSeg */) + uintptr(iEq)*92)
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 28 /* &.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)
}
}
@@ -179968,7 +180532,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr
if (bUseFrom != 0) && ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FpDlidx != 0) {
fts5SegIterNextFrom(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), iFrom)
} else {
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)) + 28 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */)
}
if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) ||
@@ -179982,7 +180548,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 + 4 /* pSeg */)))).FnPos != 0) {
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pIter + 40 /* &.xSetOutputs */))))(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pIter)).FxSetOutputs})).f(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))
return
}
bUseFrom = 0
@@ -180000,7 +180568,9 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp
*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)) = ((pIter + 68 /* &.aSeg */) + uintptr(iFirst)*92)
*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) = 0
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)) + 28 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */)
if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) ||
(fts5MultiIterAdvanceRowid(tls, pIter, iFirst, bp+4 /* &pSeg */) != 0) {
fts5MultiIterAdvanced(tls, p, pIter, iFirst, 1)
@@ -180202,7 +180772,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 {
@@ -180604,7 +181176,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 + 68 /* &.aSeg */) + uintptr(iEq)*92)
if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 28 /* &.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)
}
@@ -180615,7 +181189,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 + 68 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pNew)).FaFirst+1*4)).FiFirst)*92)
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pNew + 40 /* &.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 {
@@ -182268,9 +182844,13 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok
fts5IterSetOutputCb(tls, (p + 32 /* &.rc */), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))
for ; fts5MultiIterEof(tls, p, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */))) == 0; fts5MultiIterNext2(tls, p, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp+16 /* &dummy */) {
var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)) + 68 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FaFirst+1*4)).FiFirst)*92)
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)) + 40 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg)
if (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FnData != 0 {
- (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* 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 + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp /* &doclist */)
iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid
}
}
@@ -182284,7 +182864,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok
var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)) + 68 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FaFirst+1*4)).FiFirst)*92)
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 + 12 /* p1 */)) + 40 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg)
if *(*int32)(unsafe.Pointer(bp + 20 /* bNewTerm */)) != 0 {
if (nTerm < nToken) || (libc.Xmemcmp(tls, pToken, pTerm, uint32(nToken)) != 0) {
@@ -182309,7 +182891,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)*12))
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*12))
for iStore = i1; iStore < (i1 + nMerge); iStore++ {
sqlite3Fts5BufferZero(tls, (aBuf + uintptr(iStore)*12))
}
@@ -182318,14 +182902,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 + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* 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 + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp /* &doclist */)
iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* 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)*12))
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*12))
}
for iFree = i; iFree < (i + nMerge); iFree++ {
sqlite3Fts5BufferFree(tls, (aBuf + uintptr(iFree)*12))
@@ -182598,7 +183186,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 + 12 /* pRet */)) + 68 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)))).FaFirst+1*4)).FiFirst)*92)
if (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)) + 40 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)), pSeg)
+ (*struct {
+ f func(*libc.TLS, uintptr, uintptr)
+ })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)), pSeg)
}
}
}
@@ -183709,7 +184299,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 + 8 /* &.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)
}
@@ -185137,14 +185727,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 + 8 /* &.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 */))
}
@@ -185362,7 +185952,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
@@ -185379,7 +185971,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 + 12 /* &.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)
}
@@ -185713,7 +186307,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 + 8 /* &.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*4)
@@ -185754,7 +186350,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 + 16 /* &.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)
}
@@ -185762,7 +186358,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 + 20 /* &.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)
}
@@ -187129,7 +187725,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)
}
@@ -187580,7 +188178,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(zOut) - int32(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(zOut) - int32(aFold)) / 1), is, ie)
goto __1
__2:
;
@@ -187622,7 +188222,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 */ + 4 /* &.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)
}
@@ -187646,7 +188246,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, uint32(unsafe.Sizeof(PorterTokenizer{})))
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.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
}
@@ -187663,7 +188265,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 + 12 /* &.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 + 12 /* &.pTokenizer */))
}
if rc != SQLITE_OK {
@@ -188299,10 +188903,14 @@ __8:
__10:
;
- return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 4 /* &.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 + 4 /* &.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.
@@ -188316,7 +188924,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 + 16 /* &.aBuf */
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.tokenizer */ + 8 /* &.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})))
@@ -188501,7 +189111,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((zOut - bp /* &aBuf[0] */) / 1)), iStart, (int32(((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((zOut - bp /* &aBuf[0] */) / 1)), iStart, (int32(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))
if rc != SQLITE_OK {
break
}
@@ -188565,7 +189177,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(uint32(unsafe.Sizeof([4]BuiltinTokenizer{})) / uint32(unsafe.Sizeof(BuiltinTokenizer{}))))); i++ {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 4 /* &.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)*16)).FzName,
pApi,
(bp /* &aBuiltin */ + uintptr(i)*16 + 4 /* &.x */),