diff options
author | Jan Mercl <0xjnml@gmail.com> | 2019-12-18 17:51:11 +0100 |
---|---|---|
committer | Jan Mercl <0xjnml@gmail.com> | 2019-12-18 17:51:11 +0100 |
commit | 0bd6d67fefae8bb593662c01bd539776019681a8 (patch) | |
tree | 12124ac1d27826cea1c39f115f2c24a835deadb3 /internal/threadtest3 | |
parent | 8afe3d5bd9a307c22902c09273e89729cf4469ce (diff) |
prepare pre-alpha release
Diffstat (limited to 'internal/threadtest3')
-rw-r--r-- | internal/threadtest3/threadtest3_linux_386.go | 6280 | ||||
-rw-r--r-- | internal/threadtest3/threadtest3_linux_amd64.go | 6283 |
2 files changed, 0 insertions, 12563 deletions
diff --git a/internal/threadtest3/threadtest3_linux_386.go b/internal/threadtest3/threadtest3_linux_386.go deleted file mode 100644 index 52904da..0000000 --- a/internal/threadtest3/threadtest3_linux_386.go +++ /dev/null @@ -1,6280 +0,0 @@ -// Code generated by ccgo. DO NOT EDIT. - -// threadtest3 -// /* -// ** 2010-07-22 -// ** -// ** The author disclaims copyright to this source code. In place of -// ** a legal notice, here is a blessing: -// ** -// ** May you do good and not evil. -// ** May you find forgiveness for yourself and forgive others. -// ** May you share freely, never taking more than you give. -// ** -// ************************************************************************* -// ** -// ** The code in this file runs a few multi-threaded test cases using the -// ** SQLite library. It can be compiled to an executable on unix using the -// ** following command: -// ** -// ** gcc -O2 threadtest3.c sqlite3.c -ldl -lpthread -lm -// ** -// ** Even though threadtest3.c is the only C source code file mentioned on -// ** the compiler command-line, #include macros are used to pull in additional -// ** C code files named "tt3_*.c". -// ** -// ** After compiling, run this program with an optional argument telling -// ** which test to run. All tests are run if no argument is given. The -// ** argument can be a glob pattern to match multiple tests. Examples: -// ** -// ** ./a.out -- Run all tests -// ** ./a.out walthread3 -- Run the "walthread3" test -// ** ./a.out 'wal*' -- Run all of the wal* tests -// ** ./a.out --help -- List all available tests -// ** -// ** The exit status is non-zero if any test fails. -// */ - -// /* -// ** The "Set Error Line" macro. -// */ -package main - -import ( - "math" - "os" - "unsafe" - - "modernc.org/ccgo/crt" - "modernc.org/sqlite/internal/bin" -) - -var argv []*int8 - -func main() { - for _, v := range os.Args { - argv = append(argv, (*int8)(crt.CString(v))) - } - argv = append(argv, nil) - X_start(crt.NewTLS(), int32(len(os.Args)), &argv[0]) -} - -func X_start(tls *crt.TLS, _argc int32, _argv **int8) { - crt.X__register_stdfiles(tls, Xstdin, Xstdout, Xstderr) - crt.X__builtin_exit(tls, Xmain(tls, _argc, _argv)) -} - -var Xstdin unsafe.Pointer - -func init() { - Xstdin = unsafe.Pointer(&X__stdfiles) -} - -var X__stdfiles [3]unsafe.Pointer - -var Xstdout unsafe.Pointer - -func init() { - Xstdout = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 4) -} - -var Xstderr unsafe.Pointer - -func init() { - Xstderr = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 8) -} - -func Xmain(tls *crt.TLS, _argc int32, _argv **int8) (r0 int32) { - var _i, _iArg, _nTestfound, _4_rc int32 - var _2_zArg, _9_z *int8 - var _aTest [14]TThreadTest - r0 = int32(0) - _aTest = [14]TThreadTest{} - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XxTest = _walthread1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XzTest = str(0) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XxTest = _walthread2 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XzTest = str(11) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XxTest = _walthread3 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XzTest = str(22) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XxTest = _walthread4 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XzTest = str(33) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XxTest = _walthread5 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XzTest = str(44) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XnMs = int32(1000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XxTest = _cgt_pager_1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XzTest = str(55) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XnMs = int32(0) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XxTest = _dynamic_triggers - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XzTest = str(67) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XxTest = _checkpoint_starvation_1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XzTest = str(84) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XxTest = _checkpoint_starvation_2 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XzTest = str(108) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XxTest = _create_drop_index_1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XzTest = str(132) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XxTest = _lookaside1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XzTest = str(152) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XxTest = _vacuum1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XzTest = str(163) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XxTest = _stress1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XzTest = str(171) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XxTest = _stress2 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XzTest = str(179) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XnMs = int32(60000) - _nTestfound = int32(0) - bin.Xsqlite3_config(tls, int32(2)) - if _argc < int32(2) { - _argc = int32(2) - _argv = (**int8)(unsafe.Pointer(&_mainØ00substArgvØ001)) - } - _iArg = int32(1) -_1: - if _iArg >= _argc { - goto _4 - } - _2_zArg = *elem1(_argv, uintptr(_iArg)) - if int32(*elem2(_2_zArg, 0)) != int32(45) { - goto _5 - } - if bin.Xsqlite3_stricmp(tls, _2_zArg, str(187)) != int32(0) { - goto _6 - } - _4_rc = Xsqlite3_multiplex_initialize(tls, nil, int32(1)) - if _4_rc != int32(0) { - crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(200), _4_rc) - return int32(253) - } - goto _8 -_6: - goto _usage -_8: - goto _2 -_5: - _i = int32(0) -_9: - if uint32(_i) >= uint32(14) { - goto _12 - } - if bin.Xsqlite3_strglob(tls, _2_zArg, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest) == int32(0) { - goto _12 - } - _i += 1 - goto _9 -_12: - if uint32(_i) >= uint32(14) { - goto _usage - } -_2: - _iArg += 1 - goto _1 -_4: - _iArg = int32(1) -_15: - if _iArg >= _argc { - goto _18 - } - if int32(*elem2(*elem1(_argv, uintptr(_iArg)), 0)) == int32(45) { - goto _16 - } - _i = int32(0) -_20: - if uint32(_i) >= uint32(14) { - goto _23 - } - _9_z = elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest - if bin.Xsqlite3_strglob(tls, *elem1(_argv, uintptr(_iArg)), _9_z) == int32(0) { - crt.Xprintf(tls, str(240), unsafe.Pointer(_9_z), (elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs)/int32(1000)) - crt.Xfflush(tls, (*crt.XFILE)(Xstdout)) - (elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XxTest)(tls, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs) - _nTestfound += 1 - } - _i += 1 - goto _20 -_23: -_16: - _iArg += 1 - goto _15 -_18: - if _nTestfound == int32(0) { - goto _usage - } - crt.Xprintf(tls, str(270), _nGlobalErr, _nTestfound) - return func() int32 { - if _nGlobalErr > int32(0) { - return int32(255) - } - return int32(0) - }() - -_usage: - crt.Xprintf(tls, str(297), unsafe.Pointer(*elem1(_argv, 0))) - crt.Xprintf(tls, str(349)) - _i = int32(0) -_28: - if uint32(_i) >= uint32(14) { - goto _31 - } - crt.Xprintf(tls, str(371), unsafe.Pointer(elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest)) - _i += 1 - goto _28 -_31: - return int32(254) - - _ = _aTest - panic(0) -} - -func _walthread1(tls *crt.TLS, _nMs int32) { - var _i int32 - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(987) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(988) - }() - return &_err - }(), &_db, str(386)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(995) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(997) - }() - return &_err - }(), _nMs) - _i = int32(0) -_8: - if _i >= int32(10) { - goto _11 - } - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(999) - }() - return &_err - }(), &_threads, _walthread1_thread, nil) - _i += 1 - goto _8 -_11: - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1001) - }() - return &_err - }(), &_threads, _walthread1_ckpt_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1002) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _opendb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFile *int8, _bDelete int32) { - var _1_rc, _1_flags int32 - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_flags = int32(70) - if _bDelete != 0 { - crt.Xunlink(tls, _zFile) - } - _1_rc = bin.Xsqlite3_open_v2(tls, _zFile, (**bin.Xsqlite3)(unsafe.Pointer(&_pDb.Xdb)), _1_flags, nil) - if _1_rc != 0 { - _sqlite_error(tls, _pErr, _pDb, str(562)) - bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb)) - _pDb.Xdb = nil - goto _3 - } - bin.Xsqlite3_create_function(tls, (*bin.Xsqlite3)(_pDb.Xdb), str(567), int32(-1), int32(1), nil, nil, func() func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem) { - v := _md5step - return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v)) - }(), func() func(*crt.TLS, *bin.Xsqlite3_context) { - v := _md5finalize - return *(*func(*crt.TLS, *bin.Xsqlite3_context))(unsafe.Pointer(&v)) - }()) - bin.Xsqlite3_busy_handler(tls, (*bin.Xsqlite3)(_pDb.Xdb), _busyhandler, nil) - bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), str(574), nil, nil, nil) -_3: -_0: -} - -func _sqlite_error(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFunc *int8) { - _pErr.Xrc = bin.Xsqlite3_errcode(tls, (*bin.Xsqlite3)(_pDb.Xdb)) - _pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(597), unsafe.Pointer(_zFunc), unsafe.Pointer(bin.Xsqlite3_errmsg(tls, (*bin.Xsqlite3)(_pDb.Xdb))), bin.Xsqlite3_extended_errcode(tls, (*bin.Xsqlite3)(_pDb.Xdb))) -} - -// C comment -// /* -// ** During testing, the special md5sum() aggregate function is available. -// ** inside SQLite. The following routines implement that function. -// */ -func _md5step(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) { - var _i int32 - var _2_zData *int8 - var _p *XMD5Context - if _argc < int32(1) { - return - } - _p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92))) - if _p == nil { - return - } - if _p.XisInit == 0 { - _MD5Init(tls, _p) - } - _i = int32(0) -_3: - if _i >= _argc { - goto _6 - } - _2_zData = (*int8)(unsafe.Pointer(bin.Xsqlite3_value_text(tls, (*bin.XMem)(*elem3(_argv, uintptr(_i)))))) - if _2_zData != nil { - _MD5Update(tls, _p, (*uint8)(unsafe.Pointer(_2_zData)), crt.Xstrlen(tls, _2_zData)) - } - _i += 1 - goto _3 -_6: -} - -// C comment -// /* -// * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious -// * initialization constants. -// */ -func _MD5Init(tls *crt.TLS, _ctx *XMD5Context) { - _ctx.XisInit = int32(1) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), 0) = uint32(1732584193) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(1)) = uint32(4023233417) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(2)) = uint32(2562383102) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(3)) = uint32(271733878) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) = 0 - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) = 0 -} - -// C comment -// /* -// * Update context to reflect the concatenation of another buffer full -// * of bytes. -// */ -func _MD5Update(tls *crt.TLS, _ctx *XMD5Context, _buf *uint8, _len uint32) { - var _t uint32 - var _1_p *uint8 - _t = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) - if store5(elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0), _t+(_len<<3)) < _t { - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += 1 - } - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += _len >> 29 - _t = (_t >> 3) & uint32(63) - if _t == 0 { - goto _1 - } - _1_p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_t))) - _t = uint32(64) - _t - if _len < _t { - crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), _len) - return - } - crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), _t) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - *(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(_t) - _len -= _t -_1: - if _len >= uint32(64) { - crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), uint32(64)) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - *(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(64)) - _len -= uint32(64) - goto _1 - } - crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), _len) -} - -// C comment -// /* -// * Note: this code is harmless on little-endian machines. -// */ -func _byteReverse(tls *crt.TLS, _buf *uint8, _longs uint32) { - var _t uint32 -_0: - _t = (((uint32(*elem6(_buf, uintptr(3))) << 8) | uint32(*elem6(_buf, uintptr(2)))) << 16) | ((uint32(*elem6(_buf, uintptr(1))) << 8) | uint32(*elem6(_buf, 0))) - *(*uint32)(unsafe.Pointer(_buf)) = _t - *(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(4)) - if preInc5(&_longs, uint32(4294967295)) != 0 { - goto _0 - } -} - -// C comment -// /* -// * The core of the MD5 algorithm, this alters an existing MD5 hash to -// * reflect the addition of 16 longwords of new data. MD5Update blocks -// * the data and converts bytes into longwords for this routine. -// */ -func _MD5Transform(tls *crt.TLS, _buf *[4]uint32, _in *[16]uint32) { - var _a, _b, _c, _d uint32 - _a = *elem4((*uint32)(unsafe.Pointer(_buf)), 0) - _b = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1)) - _c = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2)) - _d = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3)) - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3614090360) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(3905402710) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(606105819) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3250441966) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4118548399) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(1200080426) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2821735955) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4249261313) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1770035416) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(2336552879) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4294925233) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(2304563134) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1804603682) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(4254626195) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2792965006) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(1236535329) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(4129170786) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(3225465664) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(643717713) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3921069994) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(3593408605) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(38016083) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(3634488961) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(3889429448) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(568446438) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(3275163606) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(4107603335) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1163531501) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(2850285829) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(4243563512) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1735328473) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(2368359562) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4294588738) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(2272392833) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(1839030562) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(4259657740) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2763975236) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(1272893353) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4139469664) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(3200236656) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(681279174) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3936430074) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3572445317) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(76029189) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3654602809) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(3873151461) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(530742520) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(3299628645) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(4096336452) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1126891415) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2878612391) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4237533241) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1700485571) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(2399980690) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4293915773) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2240044497) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1873313359) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(4264355552) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2734768916) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(1309151649) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4149444226) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(3174756917) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(718787259) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3951481745) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *elem4((*uint32)(unsafe.Pointer(_buf)), 0) += _a - *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1)) += _b - *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2)) += _c - *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3)) += _d -} - -func _md5finalize(tls *crt.TLS, _context unsafe.Pointer) { - var _zBuf [33]int8 - var _digest [16]uint8 - var _p *XMD5Context - _p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92))) - _MD5Final(tls, (*[16]uint8)(unsafe.Pointer((*uint8)(unsafe.Pointer(&_digest)))), _p) - _MD5DigestToBase16(tls, (*uint8)(unsafe.Pointer(&_digest)), (*int8)(unsafe.Pointer(&_zBuf))) - bin.Xsqlite3_result_text(tls, (*bin.Xsqlite3_context)(_context), (*int8)(unsafe.Pointer(&_zBuf)), int32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) - _ = _digest - _ = _zBuf -} - -// C comment -// /* -// * Final wrapup - pad to 64-byte boundary with the bit pattern -// * 1 0* (64-bit count of bits processed, MSB-first) -// */ -func _MD5Final(tls *crt.TLS, _digest *[16]uint8, _ctx *XMD5Context) { - var _count uint32 - var _p *uint8 - _count = ((*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)) >> 3) & uint32(63) - _p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_count))) - *postInc6(&_p, 1) = uint8(128) - _count = uint32(63) - _count - if _count < uint32(8) { - crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), _count) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - crt.Xmemset(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), int32(0), uint32(56)) - goto _1 - } - crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), _count-uint32(8)) -_1: - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(14)) - *elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(14)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) - *elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(15)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), uint32(4)) - crt.Xmemcpy(tls, unsafe.Pointer(_digest), unsafe.Pointer(&_ctx.Xbuf), uint32(16)) - crt.Xmemset(tls, unsafe.Pointer(_ctx), int32(0), uint32(92)) -} - -// C comment -// /* -// ** Convert a 128-bit MD5 digest into a 32-digit base-16 number. -// */ -func _MD5DigestToBase16(tls *crt.TLS, _digest *uint8, _zBuf *int8) { - var _i, _j, _1_a int32 - _j = store7(&_i, int32(0)) -_0: - if _i >= int32(16) { - goto _3 - } - _1_a = int32(*elem6(_digest, uintptr(_i))) - *elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr((_1_a>>4)&int32(15))) - *elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr(_1_a&int32(15))) - _i += 1 - goto _0 -_3: - *elem2(_zBuf, uintptr(_j)) = 0 -} - -var _MD5DigestToBase16Ø00zEncodeØ001 [17]int8 - -func init() { - crt.Xstrncpy(nil, &_MD5DigestToBase16Ø00zEncodeØ001[0], str(620), 17) -} - -func _busyhandler(tls *crt.TLS, _pArg unsafe.Pointer, _n int32) (r0 int32) { - crt.Xusleep(tls, uint32(10000)) - return int32(1) -} - -func _sql_script_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) { - if _pErr.Xrc == int32(0) { - _pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, nil, nil, &_pErr.XzErr) - } -} - -func _closedb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _rc, _i int32 - var _pIter, _pNext *XStatement - _pIter = (*XStatement)(_pDb.XpCache) -_0: - if _pIter == nil { - goto _3 - } - _pNext = (*XStatement)(_pIter.XpNext) - bin.Xsqlite3_finalize(tls, _pIter.XpStmt) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pIter)) - _pIter = _pNext - goto _0 -_3: - _i = int32(0) -_4: - if _i >= _pDb.XnText { - goto _7 - } - bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_i)))) - _i += 1 - goto _4 -_7: - bin.Xsqlite3_free(tls, unsafe.Pointer(_pDb.XaText)) - _rc = bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb)) - if _rc != 0 && (_pErr.Xrc == int32(0)) { - _pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_errmsg(tls, (*bin.Xsqlite3)(_pDb.Xdb)))) - } - crt.Xmemset(tls, unsafe.Pointer(_pDb), int32(0), uint32(16)) -} - -func _setstoptime_x(tls *crt.TLS, _pErr *XError, _nMs int32) { - var _1_t float64 - if _pErr.Xrc == int32(0) { - _1_t = _currentTime(tls) - _timelimit = _1_t + (float64(_nMs) / (8.64e+07)) - bug20530(_timelimit) - } -} - -func _currentTime(tls *crt.TLS) (r0 float64) { - var _1_tm int64 - var _t float64 - if _currentTimeØ00pTimelimitVfsØ001 == nil { - _currentTimeØ00pTimelimitVfsØ001 = bin.Xsqlite3_vfs_find(tls, nil) - bug20530(_currentTimeØ00pTimelimitVfsØ001) - } - if (_currentTimeØ00pTimelimitVfsØ001.XiVersion >= int32(2)) && (func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 { - v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64 - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v)) - }() != nil) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 { - v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64 - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _currentTimeØ00pTimelimitVfsØ001, &_1_tm) - _t = float64(_1_tm) / (8.64e+07) - goto _3 - } - func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 { - v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTime - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v)) - }()(tls, _currentTimeØ00pTimelimitVfsØ001, &_t) -_3: - return _t -} - -var _currentTimeØ00pTimelimitVfsØ001 *bin.Xsqlite3_vfs - -// C comment -// /* -// ** Used by setstoptime() and timetostop(). -// */ -var _timelimit float64 - -func _launch_thread_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _xProc func(*crt.TLS, int32, unsafe.Pointer) *int8, _pArg unsafe.Pointer) { - var _1_iTid, _1_rc int32 - var _1_p *XThread - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_iTid = preInc7(&_pThreads.XiMaxTid, 1) - _1_p = (*XThread)(bin.Xsqlite3_malloc(tls, int32(20))) - crt.Xmemset(tls, unsafe.Pointer(_1_p), int32(0), uint32(20)) - _1_p.XiTid = _1_iTid - _1_p.XpArg = _pArg - _1_p.XxProc = _xProc - _1_rc = crt.Xpthread_create(tls, &_1_p.Xtid, nil, _launch_thread_main, unsafe.Pointer(_1_p)) - if _1_rc != int32(0) { - _system_error(tls, _pErr, _1_rc) - bin.Xsqlite3_free(tls, unsafe.Pointer(_1_p)) - goto _2 - } - *(**XThread)(unsafe.Pointer(&_1_p.XpNext)) = (*XThread)(_pThreads.XpThread) - *(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = _1_p -_2: -_0: -} - -func _launch_thread_main(tls *crt.TLS, _pArg unsafe.Pointer) (r0 unsafe.Pointer) { - var _p *XThread - _p = (*XThread)(_pArg) - return unsafe.Pointer(_p.XxProc(tls, _p.XiTid, _p.XpArg)) -} - -func _system_error(tls *crt.TLS, _pErr *XError, _iSys int32) { - _pErr.Xrc = _iSys - _pErr.XzErr = (*int8)(bin.Xsqlite3_malloc(tls, int32(512))) - crt.Xstrerror_r(tls, _iSys, _pErr.XzErr, uint32(512)) - *elem2(_pErr.XzErr, uintptr(511)) = 0 -} - -func _walthread1_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nIter int32 - var _1_z1, _1_z2, _1_z3 *int8 - var _1_azSql [2]*int8 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _nIter = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(929) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(930) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_azSql = [2]*int8{} - *elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0) = str(640) - *elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1)) = str(708) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(937) - }() - return &_err - }(), &_db, unsafe.Pointer(str(767))) - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(938) - }() - return &_err - }(), &_db) - _1_z1 = _execsql_text_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(939) - }() - return &_err - }(), &_db, int32(1), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0))) - _1_z2 = _execsql_text_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(940) - }() - return &_err - }(), &_db, int32(2), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1)))) - _1_z3 = _execsql_text_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(941) - }() - return &_err - }(), &_db, int32(3), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0))) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(942) - }() - return &_err - }(), &_db, unsafe.Pointer(str(773))) - if crt.Xstrcmp(tls, _1_z1, _1_z2) != 0 || crt.Xstrcmp(tls, _1_z1, _1_z3) != 0 { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(780), unsafe.Pointer(_1_z1), unsafe.Pointer(_1_z2), unsafe.Pointer(_1_z3))) - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(948) - }() - return &_err - }(), &_db, str(802)) - _nIter += 1 - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(957) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(934), _nIter) - - _ = _1_azSql - panic(0) -} - -func _timetostop_x(tls *crt.TLS, _pErr *XError) (r0 int32) { - var _ret int32 - var _1_t float64 - _ret = int32(1) - if _pErr.Xrc == int32(0) { - _1_t = _currentTime(tls) - _ret = bool2int(_1_t >= _timelimit) - } - return _ret -} - -func _execsql_i64_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, args ...interface{}) (r0 int64) { - var _2_first int32 - var _iRet int64 - var _1_pStmt unsafe.Pointer - var _1_ap []interface{} - _iRet = int64(0) - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_ap = args - _1_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _1_ap) - if _1_pStmt == nil { - goto _1 - } - _2_first = int32(1) -_2: - if int32(100) != bin.Xsqlite3_step(tls, _1_pStmt) { - goto _3 - } - if _2_first != 0 && (bin.Xsqlite3_column_count(tls, _1_pStmt) > int32(0)) { - _iRet = bin.Xsqlite3_column_int64(tls, _1_pStmt, int32(0)) - } - _2_first = int32(0) - goto _2 -_3: - if int32(0) != bin.Xsqlite3_reset(tls, _1_pStmt) { - _sqlite_error(tls, _pErr, _pDb, str(948)) - } -_1: - _1_ap = nil -_0: - return _iRet -} - -func _getAndBindSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _ap []interface{}) (r0 unsafe.Pointer) { - var _i int32 - var _1_zName *int8 - var _pStmt, _1_pArg unsafe.Pointer - var _pStatement *XStatement - _pStatement = _getSqlStatement(tls, _pErr, _pDb, (*int8)(crt.VAPointer(&_ap))) - if _pStatement == nil { - return nil - } - _pStmt = _pStatement.XpStmt - _i = int32(1) -_1: - if _i > bin.Xsqlite3_bind_parameter_count(tls, _pStmt) { - goto _4 - } - _1_zName = bin.Xsqlite3_bind_parameter_name(tls, _pStmt, _i) - _1_pArg = crt.VAPointer(&_ap) - switch int32(*elem2(_1_zName, uintptr(1))) { - case int32(105): - goto _6 - default: - goto _7 - } - -_6: - bin.Xsqlite3_bind_int64(tls, _pStmt, _i, *(*int64)(_1_pArg)) - goto _8 -_7: - _pErr.Xrc = int32(1) - _pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(954), unsafe.Pointer(_1_zName)) - _pStmt = nil - goto _8 -_8: - _i += 1 - goto _1 -_4: - return _pStmt -} - -func _getSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) (r0 *XStatement) { - var _rc int32 - var _pRet *XStatement - _pRet = (*XStatement)(_pDb.XpCache) -_0: - if _pRet == nil { - goto _3 - } - if int32(0) == crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) { - return _pRet - } - _pRet = (*XStatement)(_pRet.XpNext) - goto _0 -_3: - _pRet = (*XStatement)(bin.Xsqlite3_malloc(tls, int32(8))) - _rc = bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, int32(-1), &_pRet.XpStmt, nil) - if _rc != int32(0) { - _sqlite_error(tls, _pErr, _pDb, str(980)) - return nil - } - func() { - if int32(0) != crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(1027)), int32(614), unsafe.Pointer(&_getSqlStatementØ00__func__Ø000), unsafe.Pointer(str(1085))) - crt.X__builtin_abort(tls) - } - }() - *(**XStatement)(unsafe.Pointer(&_pRet.XpNext)) = (*XStatement)(_pDb.XpCache) - *(**XStatement)(unsafe.Pointer(&_pDb.XpCache)) = _pRet - return _pRet -} - -var _getSqlStatementØ00__func__Ø000 [16]int8 - -func init() { - crt.Xstrncpy(nil, &_getSqlStatementØ00__func__Ø000[0], str(1127), 16) -} - -func _integrity_check_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _1_zErr, _3_z *int8 - var _2_pStmt unsafe.Pointer - var _1_pStatement *XStatement - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_zErr = nil - _1_pStatement = _getSqlStatement(tls, _pErr, _pDb, str(1143)) - if _1_pStatement == nil { - goto _1 - } - _2_pStmt = _1_pStatement.XpStmt -_2: - if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) { - goto _3 - } - _3_z = (*int8)(unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0)))) - if crt.Xstrcmp(tls, _3_z, str(1166)) == 0 { - goto _4 - } - if _1_zErr == nil { - _1_zErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(_3_z)) - goto _6 - } - _1_zErr = bin.Xsqlite3_mprintf(tls, str(1169), unsafe.Pointer(_1_zErr), unsafe.Pointer(_3_z)) -_6: -_4: - goto _2 -_3: - bin.Xsqlite3_reset(tls, _2_pStmt) - if _1_zErr != nil { - _pErr.XzErr = _1_zErr - _pErr.Xrc = int32(1) - } -_1: -_0: -} - -func _execsql_text_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _iSlot int32, args ...interface{}) (r0 *int8) { - var _1_nByte, _3_first int32 - var _zRet *int8 - var _2_pStmt unsafe.Pointer - var _2_ap []interface{} - _zRet = nil - if _iSlot >= _pDb.XnText { - _1_nByte = int32(uint32(4) * uint32(_iSlot+int32(1))) - _pDb.XaText = (**int8)(bin.Xsqlite3_realloc(tls, unsafe.Pointer(_pDb.XaText), _1_nByte)) - crt.Xmemset(tls, unsafe.Pointer(elem1(_pDb.XaText, uintptr(_pDb.XnText))), int32(0), uint32(4)*uint32((_iSlot+int32(1))-_pDb.XnText)) - _pDb.XnText = _iSlot + int32(1) - } - if _pErr.Xrc != int32(0) { - goto _1 - } - _2_ap = args - _2_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _2_ap) - if _2_pStmt == nil { - goto _2 - } - _3_first = int32(1) -_3: - if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) { - goto _4 - } - if _3_first != 0 && (bin.Xsqlite3_column_count(tls, _2_pStmt) > int32(0)) { - _zRet = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0)))) - bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_iSlot)))) - *elem1(_pDb.XaText, uintptr(_iSlot)) = _zRet - } - _3_first = int32(0) - goto _3 -_4: - if int32(0) != bin.Xsqlite3_reset(tls, _2_pStmt) { - _sqlite_error(tls, _pErr, _pDb, str(948)) - } -_2: - _2_ap = nil -_1: - return _zRet -} - -func _test_error_x(tls *crt.TLS, _pErr *XError, _zErr *int8) { - if _pErr.Xrc == int32(0) { - _pErr.Xrc = int32(1) - _pErr.XzErr = _zErr - goto _1 - } - bin.Xsqlite3_free(tls, unsafe.Pointer(_zErr)) -_1: -} - -func _print_and_free_err(tls *crt.TLS, _p *XError) { - _print_err(tls, _p) - _free_err(tls, _p) -} - -func _print_err(tls *crt.TLS, _p *XError) { - var _1_isWarn int32 - if _p.Xrc == int32(0) { - goto _0 - } - _1_isWarn = int32(0) - if _p.Xrc == int32(17) { - _1_isWarn = int32(1) - } - if bin.Xsqlite3_strglob(tls, str(1175), _p.XzErr) == int32(0) { - _1_isWarn = int32(1) - } - crt.Xprintf(tls, str(1196), unsafe.Pointer(func() *int8 { - if _1_isWarn != 0 { - return str(1222) - } - return str(1230) - }()), _p.Xrc, unsafe.Pointer(_p.XzErr), _p.XiLine) - if _1_isWarn == 0 { - _nGlobalErr += 1 - } - crt.Xfflush(tls, (*crt.XFILE)(Xstdout)) -_0: -} - -// C comment -// /* Total number of errors in this process so far. */ -var _nGlobalErr int32 - -func _free_err(tls *crt.TLS, _p *XError) { - bin.Xsqlite3_free(tls, unsafe.Pointer(_p.XzErr)) - _p.XzErr = nil - _p.Xrc = int32(0) -} - -func _walthread1_ckpt_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nCkpt int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _nCkpt = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(968) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(969) - }() - return &_err - }()) != 0 { - goto _3 - } - crt.Xusleep(tls, uint32(500000)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(971) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1236))) - if _err.Xrc == int32(0) { - _nCkpt += 1 - } - _clear_error_x(tls, &_err, int32(5)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(975) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1258), _nCkpt) -} - -func _clear_error_x(tls *crt.TLS, _pErr *XError, _rc int32) { - if _pErr.Xrc == _rc { - _pErr.Xrc = int32(0) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pErr.XzErr)) - _pErr.XzErr = nil - } -} - -func _join_all_threads_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset) { - var _1_rc int32 - var _1_ret unsafe.Pointer - var _p, _pNext *XThread - _p = (*XThread)(_pThreads.XpThread) -_0: - if _p == nil { - goto _3 - } - _pNext = (*XThread)(_p.XpNext) - _1_rc = crt.Xpthread_join(tls, _p.Xtid, &_1_ret) - if _1_rc == int32(0) { - goto _4 - } - if _pErr.Xrc == int32(0) { - _system_error(tls, _pErr, _1_rc) - } - goto _6 -_4: - crt.Xprintf(tls, str(1273), _p.XiTid, unsafe.Pointer(func() *int8 { - if _1_ret == nil { - return str(1293) - } - return (*int8)(_1_ret) - }())) - crt.Xfflush(tls, (*crt.XFILE)(Xstdout)) -_6: - bin.Xsqlite3_free(tls, unsafe.Pointer(_p)) - _p = _pNext - goto _0 -_3: - *(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = nil -} - -func _walthread2(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1050) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1051) - }() - return &_err - }(), &_db, str(1297)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1052) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1054) - }() - return &_err - }(), _nMs) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1055) - }() - return &_err - }(), &_threads, _walthread2_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1056) - }() - return &_err - }(), &_threads, _walthread2_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1057) - }() - return &_err - }(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1)))) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1058) - }() - return &_err - }(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1)))) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1059) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _walthread2_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iArg, _2_journal_exists, _2_wal_exists int32 - var _zJournal *int8 - var _anTrans [2]int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _anTrans = [2]int32{} - _iArg = int32(crt.P2U(_pArg)) - _zJournal = str(1346) - if _iArg != 0 { - _zJournal = str(1372) - } -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1016) - }() - return &_err - }()) != 0 { - goto _2 - } - _2_journal_exists = int32(0) - _2_wal_exists = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1020) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1022) - }() - return &_err - }(), &_db, _zJournal) - _clear_error_x(tls, &_err, int32(5)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1024) - }() - return &_err - }(), &_db, str(767)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1025) - }() - return &_err - }(), &_db, str(1401)) - _2_journal_exists = bool2int(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1027) - }() - return &_err - }(), str(1446)) >= (0)) - _2_wal_exists = bool2int(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1028) - }() - return &_err - }(), str(1462)) >= (0)) - if (_2_journal_exists + _2_wal_exists) != int32(1) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(1474), _2_journal_exists, _2_wal_exists)) - } - *elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(_2_journal_exists)) += 1 - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1036) - }() - return &_err - }(), &_db, str(773)) - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1037) - }() - return &_err - }(), &_db) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1038) - }() - return &_err - }(), &_db) - goto _0 -_2: - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1511), *elem8((*int32)(unsafe.Pointer(&_anTrans)), 0), *elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(1))) - - _ = _anTrans - panic(0) -} - -func _filesize_x(tls *crt.TLS, _pErr *XError, _zFile *int8) (r0 int64) { - var _iRet int64 - var _1_sStat crt.Xstruct_stat64 - _iRet = int64(0) - if _pErr.Xrc != int32(0) { - goto _0 - } - if crt.Xstat64(tls, _zFile, &_1_sStat) != 0 { - _iRet = int64(-1) - goto _2 - } - _iRet = _1_sStat.Xst_size -_2: -_0: - return _iRet -} - -func _walthread3(tls *crt.TLS, _nMs int32) { - var _i int32 - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1107) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1108) - }() - return &_err - }(), &_db, str(1521)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1115) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1117) - }() - return &_err - }(), _nMs) - _i = int32(0) -_8: - if _i >= int32(6) { - goto _11 - } - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1119) - }() - return &_err - }(), &_threads, _walthread3_thread, crt.U2P(uintptr(_i))) - _i += 1 - goto _8 -_11: - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1121) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _walthread3_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iArg, _1_stop int32 - var _iNextWrite, _1_sum1, _1_sum2, _2_iMax int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iArg = int32(crt.P2U(_pArg)) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1070) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1071) - }() - return &_err - }(), &_db, str(1680)) - _iNextWrite = int64(_iArg + int32(1)) -_4: - _1_stop = int32(0) -_6: - if int32(0) != store7(&_1_stop, _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1079) - }() - return &_err - }())) { - goto _7 - } - _2_iMax = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1080) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1711))) - if (_2_iMax + int64(1)) == _iNextWrite { - goto _7 - } - goto _6 -_7: - if _1_stop != 0 { - goto _5 - } - _1_sum1 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1085) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1735))) - _1_sum2 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1086) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1759))) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1087) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1784)), unsafe.Pointer(&_iNextWrite), unsafe.Pointer(&_1_sum1), unsafe.Pointer(&_1_sum2)) - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1091) - }() - return &_err - }(), &_db) - _iNextWrite += int64(6) - goto _4 -_5: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1096) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _walthread4(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1165) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1166) - }() - return &_err - }(), &_db, str(1835)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1170) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1172) - }() - return &_err - }(), _nMs) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1173) - }() - return &_err - }(), &_threads, _walthread4_reader_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1174) - }() - return &_err - }(), &_threads, _walthread4_writer_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1175) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _walthread4_reader_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1130) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1131) - }() - return &_err - }()) == 0 { - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1132) - }() - return &_err - }(), &_db) - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1134) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _walthread4_writer_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iRow int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iRow = int64(1) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1145) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1146) - }() - return &_err - }(), &_db, str(1911)) -_4: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1147) - }() - return &_err - }()) != 0 { - goto _5 - } - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1148) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1943)), unsafe.Pointer(&_iRow)) - _iRow += 1 - if _iRow == int64(10) { - _iRow = 0 - } - goto _4 -_5: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1154) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _walthread5(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1198) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1199) - }() - return &_err - }(), &_db, str(1990)) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1224) - }() - return &_err - }(), str(378), str(3150)) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1225) - }() - return &_err - }(), str(1462), str(3161)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1226) - }() - return &_err - }(), &_db) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1228) - }() - return &_err - }(), str(3150), str(378)) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1229) - }() - return &_err - }(), str(3161), str(1462)) - if _err.Xrc == int32(0) { - crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1232) - }() - return &_err - }(), str(1462)))) - crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1233) - }() - return &_err - }(), str(378)))) - } - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1236) - }() - return &_err - }(), _nMs) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1237) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1238) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1239) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1240) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1241) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1242) - }() - return &_err - }(), &_threads) - if _err.Xrc == int32(0) { - crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1245) - }() - return &_err - }(), str(1462)))) - crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1246) - }() - return &_err - }(), str(378)))) - } - _print_and_free_err(tls, &_err) -} - -func _filecopy_x(tls *crt.TLS, _pErr *XError, _zFrom *int8, _zTo *int8) { - var _3_fd1, _3_fd2, _6_nCopy int32 - var _1_nByte, _3_iOff int64 - var _3_aBuf [1024]int8 - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_nByte = _filesize_x(tls, _pErr, _zFrom) - if _1_nByte < (0) { - _test_error_x(tls, _pErr, bin.Xsqlite3_mprintf(tls, str(3217), unsafe.Pointer(_zFrom))) - goto _2 - } - crt.Xunlink(tls, _zTo) - _3_fd1 = crt.Xopen64(tls, _zFrom, int32(0)) - if _3_fd1 < int32(0) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - return - } - _3_fd2 = crt.Xopen64(tls, _zTo, int32(194), int32(420)) - if _3_fd2 < int32(0) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - crt.Xclose(tls, _3_fd1) - return - } - _3_iOff = 0 -_5: - if _3_iOff >= _1_nByte { - goto _6 - } - _6_nCopy = int32(1024) - if (int64(_6_nCopy) + _3_iOff) > _1_nByte { - _6_nCopy = int32(_1_nByte - _3_iOff) - } - if _6_nCopy != crt.Xread(tls, _3_fd1, unsafe.Pointer(&_3_aBuf), uint32(_6_nCopy)) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - goto _6 - } - if _6_nCopy != crt.Xwrite(tls, _3_fd2, unsafe.Pointer(&_3_aBuf), uint32(_6_nCopy)) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - goto _6 - } - _3_iOff += int64(_6_nCopy) - goto _5 -_6: - crt.Xclose(tls, _3_fd1) - crt.Xclose(tls, _3_fd2) -_2: -_0: - _ = _3_aBuf -} - -func _walthread5_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nRow int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1185) - }() - return &_err - }(), &_db, str(378), int32(0)) - _nRow = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1186) - }() - return &_err - }(), &_db, unsafe.Pointer(str(3234))) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1187) - }() - return &_err - }(), &_db) - if _nRow != int64(65536) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(3258), int32(_nRow))) - } - _print_and_free_err(tls, &_err) - return nil -} - -func _cgt_pager_1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _xSub func(*crt.TLS, *XError, *XSqlite) - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1289) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1290) - }() - return &_err - }(), &_db, str(3276)) - _xSub = _cgt_pager_1_populate - _xSub(tls, &_err, &_db) - _xSub = _cgt_pager_1_update - _xSub(tls, &_err, &_db) - _xSub = _cgt_pager_1_read - _xSub(tls, &_err, &_db) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1300) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) -} - -func _cgt_pager_1_populate(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _iRow, _1_iBlob int64 - var _zInsert *int8 - _zInsert = str(3373) - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1259) - }() - return _pErr - }(), _pDb, str(767)) - _iRow = int64(1) -_2: - if _iRow > int64(10000) { - goto _5 - } - _1_iBlob = int64(600) + (_iRow % int64(300)) - _execsql_i64_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1262) - }() - return _pErr - }(), _pDb, unsafe.Pointer(_zInsert), unsafe.Pointer(&_iRow), unsafe.Pointer(&_1_iBlob)) - _iRow += 1 - goto _2 -_5: - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1264) - }() - return _pErr - }(), _pDb, str(773)) -} - -func _cgt_pager_1_update(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _iRow, _1_iBlob int64 - var _zUpdate *int8 - _zUpdate = str(3420) - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1269) - }() - return _pErr - }(), _pDb, str(767)) - _iRow = int64(1) -_2: - if _iRow > int64(10000) { - goto _5 - } - _1_iBlob = int64(600) + ((_iRow + int64(100)) % int64(300)) - _execsql_i64_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1272) - }() - return _pErr - }(), _pDb, unsafe.Pointer(_zUpdate), unsafe.Pointer(&_1_iBlob), unsafe.Pointer(&_iRow)) - _iRow += 1 - goto _2 -_5: - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1274) - }() - return _pErr - }(), _pDb, str(773)) -} - -func _cgt_pager_1_read(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _iRow int64 - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1278) - }() - return _pErr - }(), _pDb, str(767)) - _iRow = int64(1) -_2: - if _iRow > int64(10000) { - goto _5 - } - _execsql_i64_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1280) - }() - return _pErr - }(), _pDb, unsafe.Pointer(str(3471)), unsafe.Pointer(&_iRow)) - _iRow += 1 - goto _2 -_5: - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1282) - }() - return _pErr - }(), _pDb, str(773)) -} - -func _dynamic_triggers(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1396) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1397) - }() - return &_err - }(), &_db, str(3504)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1410) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1412) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1415) - }() - return &_err - }(), &_threads, _dynamic_triggers_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1416) - }() - return &_err - }(), &_threads, _dynamic_triggers_2, nil) - crt.Xsleep(tls, uint32(2)) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1421) - }() - return &_err - }(), &_threads, _dynamic_triggers_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1422) - }() - return &_err - }(), &_threads, _dynamic_triggers_1, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1424) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _dynamic_triggers_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nInsert, _nDelete int32 - var _iVal int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iVal = int64(0) - _nInsert = int32(0) - _nDelete = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1371) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1372) - }() - return &_err - }()) != 0 { - goto _3 - } -_6: - _iVal = (_iVal + int64(1)) % int64(100) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1375) - }() - return &_err - }(), &_db, unsafe.Pointer(str(3753)), unsafe.Pointer(&_iVal), unsafe.Pointer(&_iVal)) - _nInsert += 1 - if _iVal != 0 { - goto _6 - } -_9: - _iVal = (_iVal + int64(1)) % int64(100) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1381) - }() - return &_err - }(), &_db, unsafe.Pointer(str(3787)), unsafe.Pointer(&_iVal)) - _nDelete += 1 - if _iVal != 0 { - goto _9 - } - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1385) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(3816), _nInsert, _nDelete) -} - -func _dynamic_triggers_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nDrop, _nCreate, _1_i int32 - var _2_zSql, _3_zSql, _4_zSql, _5_zSql *int8 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _nDrop = int32(0) - _nCreate = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1318) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1319) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_i = int32(1) -_6: - if _1_i >= int32(9) { - goto _9 - } - _2_zSql = bin.Xsqlite3_mprintf(tls, str(3839), _1_i, _1_i, _1_i+int32(1)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1328) - }() - return &_err - }(), &_db, unsafe.Pointer(_2_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_2_zSql)) - _nCreate += 1 - _1_i += 1 - goto _6 -_9: - _1_i = int32(1) -_12: - if _1_i >= int32(9) { - goto _15 - } - _3_zSql = bin.Xsqlite3_mprintf(tls, str(3929), _1_i, _1_i, _1_i+int32(1)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1339) - }() - return &_err - }(), &_db, unsafe.Pointer(_3_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_3_zSql)) - _nCreate += 1 - _1_i += 1 - goto _12 -_15: - _1_i = int32(1) -_18: - if _1_i >= int32(9) { - goto _21 - } - _4_zSql = bin.Xsqlite3_mprintf(tls, str(4015), _1_i) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1346) - }() - return &_err - }(), &_db, unsafe.Pointer(_4_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_4_zSql)) - _nDrop += 1 - _1_i += 1 - goto _18 -_21: - _1_i = int32(1) -_24: - if _1_i >= int32(9) { - goto _27 - } - _5_zSql = bin.Xsqlite3_mprintf(tls, str(4034), _1_i) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1353) - }() - return &_err - }(), &_db, unsafe.Pointer(_5_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_5_zSql)) - _nDrop += 1 - _1_i += 1 - goto _24 -_27: - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1358) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(4053), _nCreate, _nDrop) -} - -func _checkpoint_starvation_1(tls *crt.TLS, _nMs int32) { - var _err XError - var _ctx XCheckpointStarvationCtx - _err = XError{} - _ctx = XCheckpointStarvationCtx{} - _checkpoint_starvation_main(tls, _nMs, &_ctx) - if _ctx.XnMaxFrame < int32(500) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4076), _ctx.XnMaxFrame)) - } - _print_and_free_err(tls, &_err) -} - -func _checkpoint_starvation_main(tls *crt.TLS, _nMs int32, _p *XCheckpointStarvationCtx) { - var _nInsert, _i int32 - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _nInsert = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(99) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(100) - }() - return &_err - }(), &_db, str(4107)) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(106) - }() - return &_err - }(), _nMs) - _i = int32(0) -_6: - if _i >= int32(4) { - goto _9 - } - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(109) - }() - return &_err - }(), &_threads, _checkpoint_starvation_reader, nil) - crt.Xusleep(tls, uint32(25000)) - _i += 1 - goto _6 -_9: - bin.Xsqlite3_wal_hook(tls, (*bin.Xsqlite3)(_db.Xdb), func() func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32 { - v := _checkpoint_starvation_walhook - return *(*func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&v)) - }(), unsafe.Pointer(_p)) -_12: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(114) - }() - return &_err - }()) == 0 { - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(115) - }() - return &_err - }(), &_db, str(4177)) - _nInsert += 1 - goto _12 - } - crt.Xprintf(tls, str(4217), unsafe.Pointer(func() *int8 { - if _p.XeMode == int32(0) { - return str(4241) - } - return str(4249) - }())) - crt.Xprintf(tls, str(4257), _p.XnMaxFrame) - crt.Xprintf(tls, str(4288), _nInsert) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(125) - }() - return &_err - }(), &_threads) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(126) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) -} - -func _checkpoint_starvation_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _1_iCount1, _1_iCount2 int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(73) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(74) - }() - return &_err - }()) != 0 { - goto _3 - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(76) - }() - return &_err - }(), &_db, str(767)) - _1_iCount1 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(77) - }() - return &_err - }(), &_db, unsafe.Pointer(str(4325))) - crt.Xusleep(tls, uint32(100000)) - _1_iCount2 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(79) - }() - return &_err - }(), &_db, unsafe.Pointer(str(4325))) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(80) - }() - return &_err - }(), &_db, str(773)) - if _1_iCount1 != _1_iCount2 { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4349), _1_iCount1, _1_iCount2)) - } - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(86) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _checkpoint_starvation_walhook(tls *crt.TLS, _pCtx unsafe.Pointer, _db unsafe.Pointer, _zDb *int8, _nFrame int32) (r0 int32) { - var _p *XCheckpointStarvationCtx - _p = (*XCheckpointStarvationCtx)(_pCtx) - if _nFrame > _p.XnMaxFrame { - _p.XnMaxFrame = _nFrame - } - if _nFrame >= int32(50) { - bin.Xsqlite3_wal_checkpoint_v2(tls, (*bin.Xsqlite3)(_db), _zDb, _p.XeMode, nil, nil) - } - return int32(0) -} - -func _checkpoint_starvation_2(tls *crt.TLS, _nMs int32) { - var _err XError - var _ctx XCheckpointStarvationCtx - _err = XError{} - _ctx = XCheckpointStarvationCtx{XeMode: int32(2)} - _checkpoint_starvation_main(tls, _nMs, &_ctx) - if _ctx.XnMaxFrame > int32(60) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4379), _ctx.XnMaxFrame)) - } - _print_and_free_err(tls, &_err) -} - -func _create_drop_index_1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(54) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(55) - }() - return &_err - }(), &_db, str(4410)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(60) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(62) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(65) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(66) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(67) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(68) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(69) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(71) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -func _create_drop_index_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(21) - }() - return &_err - }()) == 0 { - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(22) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(24) - }() - return &_err - }(), &_db, str(4551)) - _clear_error_x(tls, &_err, int32(6)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(42) - }() - return &_err - }(), &_db) - goto _0 - } - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _lookaside1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(71) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(72) - }() - return &_err - }(), &_db, str(4924)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(85) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(87) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(90) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(91) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(92) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(93) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(94) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(95) - }() - return &_err - }(), &_threads, _lookaside1_thread_writer, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(96) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -func _lookaside1_thread_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _1_rc int32 - var _1_pStmt unsafe.Pointer - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(25) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(27) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_pStmt = nil - bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_db.Xdb), str(5276), int32(-1), &_1_pStmt, nil) -_6: - if bin.Xsqlite3_step(tls, _1_pStmt) == int32(100) { - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(33) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5293))) - goto _6 - } - _1_rc = bin.Xsqlite3_finalize(tls, _1_pStmt) - if (_err.Xrc == int32(0)) && (_1_rc != int32(0)) { - _sqlite_error(tls, &_err, &_db, str(5324)) - } - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(41) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _lookaside1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(50) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(53) - }() - return &_err - }(), &_db, str(5333)) - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(58) - }() - return &_err - }()) == 0 { - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(60) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _vacuum1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(72) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(73) - }() - return &_err - }(), &_db, str(5379)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(77) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(79) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(82) - }() - return &_err - }(), &_threads, _vacuum1_thread_writer, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(83) - }() - return &_err - }(), &_threads, _vacuum1_thread_writer, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(84) - }() - return &_err - }(), &_threads, _vacuum1_thread_writer, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(85) - }() - return &_err - }(), &_threads, _vacuum1_thread_vacuumer, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(86) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -func _vacuum1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(26) - }() - return &_err - }(), &_db, str(378), int32(0)) - _i = int64(0) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(29) - }() - return &_err - }()) == 0 { - _i += 1 - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(33) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5444))) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(39) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5579)), unsafe.Pointer(&_i)) - _clear_error_x(tls, &_err, int32(6)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(43) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5611))) - _clear_error_x(tls, &_err, int32(6)) - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(47) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _vacuum1_thread_vacuumer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(55) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(58) - }() - return &_err - }(), &_db, str(5639)) - _clear_error_x(tls, &_err, int32(6)) - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(60) - }() - return &_err - }()) == 0 { - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(62) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _stress1(tls *crt.TLS, _nMs int32) { - var _err XError - var _threads XThreadset - _err = XError{} - _threads = XThreadset{} - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(138) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(141) - }() - return &_err - }(), &_threads, _stress_thread_1, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(142) - }() - return &_err - }(), &_threads, _stress_thread_1, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(144) - }() - return &_err - }(), &_threads, _stress_thread_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(145) - }() - return &_err - }(), &_threads, _stress_thread_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(147) - }() - return &_err - }(), &_threads, _stress_thread_3, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(148) - }() - return &_err - }(), &_threads, _stress_thread_3, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(150) - }() - return &_err - }(), &_threads, _stress_thread_4, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(151) - }() - return &_err - }(), &_threads, _stress_thread_4, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(153) - }() - return &_err - }(), &_threads, _stress_thread_5, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(154) - }() - return &_err - }(), &_threads, _stress_thread_5, crt.U2P(uintptr(uint32(1)))) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(156) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -// C comment -// /* -// ** Thread 1. CREATE and DROP a table. -// */ -func _stress_thread_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(24) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(25) - }() - return &_err - }()) == 0 { - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(26) - }() - return &_err - }(), &_db, str(5646)) - _clear_error_x(tls, &_err, int32(6)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(28) - }() - return &_err - }(), &_db, str(5694)) - _clear_error_x(tls, &_err, int32(6)) - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(31) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -// C comment -// /* -// ** Thread 2. Open and close database connections. -// */ -func _stress_thread_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(42) - }() - return &_err - }()) == 0 { - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(43) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(44) - }() - return &_err - }(), &_db, str(5718)) - _clear_error_x(tls, &_err, int32(6)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(46) - }() - return &_err - }(), &_db) - goto _0 - } - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -// C comment -// /* -// ** Thread 3. Attempt many small SELECT statements. -// */ -func _stress_thread_3(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i1, _i2 int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _i1 = int32(0) - _i2 = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(62) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(63) - }() - return &_err - }()) != 0 { - goto _3 - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(64) - }() - return &_err - }(), &_db, str(5747)) - _i1 += 1 - if _err.Xrc != 0 { - _i2 += 1 - } - _clear_error_x(tls, &_err, int32(6)) - _clear_error_x(tls, &_err, int32(1)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(70) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(5776), _i2, _i1) -} - -// C comment -// /* -// ** Thread 5. Attempt INSERT statements. -// */ -func _stress_thread_4(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i1, _i2, _iArg int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _i1 = int32(0) - _i2 = int32(0) - _iArg = int32(crt.P2U(_pArg)) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(85) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(86) - }() - return &_err - }()) != 0 { - goto _3 - } - if _iArg != 0 { - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(88) - }() - return &_err - }(), &_db) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(89) - }() - return &_err - }(), &_db, str(378), int32(0)) - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(91) - }() - return &_err - }(), &_db, str(5799)) - _i1 += 1 - if _err.Xrc != 0 { - _i2 += 1 - } - _clear_error_x(tls, &_err, int32(6)) - _clear_error_x(tls, &_err, int32(1)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(100) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(5922), _i2, _i1) -} - -// C comment -// /* -// ** Thread 6. Attempt DELETE operations. -// */ -func _stress_thread_5(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iArg, _i1, _i2 int32 - var _1_i int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iArg = int32(crt.P2U(_pArg)) - _i1 = int32(0) - _i2 = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(116) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(117) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_i = int64(_i1 % int32(4)) - if _iArg != 0 { - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(120) - }() - return &_err - }(), &_db) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(121) - }() - return &_err - }(), &_db, str(378), int32(0)) - } - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(123) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5946)), unsafe.Pointer(&_1_i)) - _i1 += 1 - if _err.Xrc != 0 { - _i2 += 1 - } - _clear_error_x(tls, &_err, int32(6)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(128) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(5983), _i2, _i1) -} - -func _stress2(tls *crt.TLS, _nMs int32) { - var _i int32 - var _zDb *int8 - var _err XError - var _db XSqlite - var _threads XThreadset - var _aTask [13]TStress2Task - _aTask = [13]TStress2Task{} - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), 0).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload1 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(1)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload2 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(2)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload3 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(3)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload4 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(4)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload5 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(5)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload6 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(6)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload7 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(7)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload8 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(8)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload9 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(9)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload10 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(10)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload11 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(11)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload14 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(12)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload17 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - _zDb = str(378) - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(345) - }() - return &_err - }(), &_db, _zDb, int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(346) - }() - return &_err - }(), &_db, str(6014)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(350) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(352) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _i = int32(0) -_8: - if uint32(_i) >= uint32(13) { - goto _11 - } - _stress2_launch_thread_loop(tls, &_err, &_threads, _zDb, func() func(*crt.TLS, *XError, *XSqlite, int32) { - v := elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(_i)).Xx - return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v)) - }()) - _i += 1 - goto _8 -_11: - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(358) - }() - return &_err - }(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(359) - }() - return &_err - }(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb)) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(361) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) - _ = _aTask -} - -func _stress2_workload1(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - var _iTab int32 - _iTab = (_i % int32(4)) + int32(1) - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(193) - }() - return _pErr - }(), _pDb, str(6105), _iTab) -} - -func _sql_script_printf_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFormat *int8, args ...interface{}) { - var _1_zSql *int8 - var _ap []interface{} - _ap = args - if _pErr.Xrc == int32(0) { - _1_zSql = bin.Xsqlite3_vmprintf(tls, _zFormat, _ap) - _pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _1_zSql, nil, nil, &_pErr.XzErr) - bin.Xsqlite3_free(tls, unsafe.Pointer(_1_zSql)) - } - _ap = nil -} - -func _stress2_workload2(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - var _iTab int32 - _iTab = (_i % int32(4)) + int32(1) - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(200) - }() - return _pErr - }(), _pDb, str(6158), _iTab) -} - -func _stress2_workload3(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(204) - }() - return _pErr - }(), _pDb, str(6184)) -} - -func _stress2_workload4(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(208) - }() - return _pErr - }(), _pDb, str(6219)) -} - -func _stress2_workload5(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(212) - }() - return _pErr - }(), _pDb, str(6252)) -} - -func _stress2_workload6(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(218) - }() - return _pErr - }(), _pDb, str(6321)) -} - -func _stress2_workload7(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(224) - }() - return _pErr - }(), _pDb, str(6387), _i) -} - -func _stress2_workload8(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(231) - }() - return _pErr - }(), _pDb, str(6469), _i) -} - -func _stress2_workload9(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(239) - }() - return _pErr - }(), _pDb, str(6546), _i) -} - -func _stress2_workload10(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(244) - }() - return _pErr - }(), _pDb, str(6602), _i) -} - -func _stress2_workload11(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(250) - }() - return _pErr - }(), _pDb, str(5639)) -} - -func _stress2_workload14(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(254) - }() - return _pErr - }(), _pDb, str(1143)) -} - -func _stress2_workload17(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(258) - }() - return _pErr - }(), _pDb, str(6656), unsafe.Pointer(func() *int8 { - if (_i % int32(2)) != 0 { - return str(6681) - } - return str(6688) - }())) -} - -func _stress2_launch_thread_loop(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _zDb *int8, _x func(*crt.TLS, *XError, *XSqlite, int32)) { - var _pCtx *XStress2Ctx - _pCtx = (*XStress2Ctx)(bin.Xsqlite3_malloc(tls, int32(8))) - _pCtx.XzDb = _zDb - *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&_pCtx.XxProc)) = _x - _launch_thread_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(316) - }() - return _pErr - }(), _pThreads, _stress2_thread_wrapper, unsafe.Pointer(_pCtx)) -} - -func _stress2_thread_wrapper(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i1, _i2, _1_cnt int32 - var _err XError - var _db XSqlite - var _pCtx *XStress2Ctx - _pCtx = (*XStress2Ctx)(_pArg) - _err = XError{} - _db = XSqlite{} - _i1 = int32(0) - _i2 = int32(0) -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(291) - }() - return &_err - }()) != 0 { - goto _1 - } - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(293) - }() - return &_err - }(), &_db, _pCtx.XzDb, int32(0)) - _1_cnt = int32(0) -_6: - if _err.Xrc != int32(0) || _1_cnt >= int32(5) { - goto _10 - } - func() func(*crt.TLS, *XError, *XSqlite, int32) { - v := _pCtx.XxProc - return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v)) - }()(tls, &_err, &_db, _i1) - _i2 += bool2int(_err.Xrc == int32(0)) - _clear_error_x(tls, &_err, int32(6)) - _i1 += 1 - _1_cnt += 1 - goto _6 -_10: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(300) - }() - return &_err - }(), &_db) - goto _0 -_1: - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(6692), _i2, _i1) -} - -func _stress2_workload19(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _zDb *int8 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _zDb = (*int8)(_pArg) -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(267) - }() - return &_err - }()) == 0 { - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(268) - }() - return &_err - }(), &_db, _zDb, int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(269) - }() - return &_err - }(), &_db, str(5718)) - _clear_error_x(tls, &_err, int32(6)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(271) - }() - return &_err - }(), &_db) - goto _0 - } - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -var _mainØ00substArgvØ001 [3]*int8 - -func init() { - _mainØ00substArgvØ001 = [3]*int8{nil, str(6701), nil} -} - -// C comment -// /************************** Public Interfaces *****************************/ -// /* -// ** CAPI: Initialize the multiplex VFS shim - sqlite3_multiplex_initialize() -// ** -// ** Use the VFS named zOrigVfsName as the VFS that does the actual work. -// ** Use the default if zOrigVfsName==NULL. -// ** -// ** The multiplex VFS shim is named "multiplex". It will become the default -// ** VFS if makeDefault is non-zero. -// ** -// ** THIS ROUTINE IS NOT THREADSAFE. Call this routine exactly once -// ** during start-up. -// */ -func Xsqlite3_multiplex_initialize(tls *crt.TLS, _zOrigVfsName *int8, _makeDefault int32) (r0 int32) { - var _pOrigVfs *bin.Xsqlite3_vfs - if _gMultiplex.XisInitialized != 0 { - return int32(21) - } - _pOrigVfs = bin.Xsqlite3_vfs_find(tls, _zOrigVfsName) - if _pOrigVfs == nil { - return int32(1) - } - func() { - if _pOrigVfs == &_gMultiplex.XsThisVfs { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(1099), unsafe.Pointer(&_sqlite3_multiplex_initializeØ00__func__Ø000), unsafe.Pointer(str(6763))) - crt.X__builtin_abort(tls) - } - }() - _gMultiplex.XisInitialized = int32(1) - *(**bin.Xsqlite3_vfs)(unsafe.Pointer(&_gMultiplex.XpOrigVfs)) = _pOrigVfs - _gMultiplex.XsThisVfs = *_pOrigVfs - { - p := &(_gMultiplex.XsThisVfs.XszOsFile) - *p = int32(uint32(*p) + uint32(8)) - } - _gMultiplex.XsThisVfs.XzName = str(6794) - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxOpen))) = _multiplexOpen - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDelete))) = _multiplexDelete - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxAccess))) = _multiplexAccess - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxFullPathname))) = _multiplexFullPathname - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlOpen))) = _multiplexDlOpen - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlError))) = _multiplexDlError - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlSym))) = _multiplexDlSym - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlClose))) = _multiplexDlClose - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxRandomness))) = _multiplexRandomness - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxSleep))) = _multiplexSleep - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTime))) = _multiplexCurrentTime - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxGetLastError))) = _multiplexGetLastError - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTimeInt64))) = _multiplexCurrentTimeInt64 - _gMultiplex.XsIoMethodsV1.XiVersion = int32(1) - *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxClose))) = _multiplexClose - *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxRead))) = _multiplexRead - *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxWrite))) = _multiplexWrite - *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxTruncate))) = _multiplexTruncate - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSync))) = _multiplexSync - *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileSize))) = _multiplexFileSize - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxLock))) = _multiplexLock - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxUnlock))) = _multiplexUnlock - *(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxCheckReservedLock))) = _multiplexCheckReservedLock - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileControl))) = _multiplexFileControl - *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSectorSize))) = _multiplexSectorSize - *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxDeviceCharacteristics))) = _multiplexDeviceCharacteristics - _gMultiplex.XsIoMethodsV2 = _gMultiplex.XsIoMethodsV1 - _gMultiplex.XsIoMethodsV2.XiVersion = int32(2) - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmMap))) = _multiplexShmMap - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmLock))) = _multiplexShmLock - *(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmBarrier))) = _multiplexShmBarrier - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmUnmap))) = _multiplexShmUnmap - bin.Xsqlite3_vfs_register(tls, &_gMultiplex.XsThisVfs, _makeDefault) - bin.Xsqlite3_auto_extension(tls, func() func(*crt.TLS) { v := _multiplexFuncInit; return *(*func(*crt.TLS))(unsafe.Pointer(&v)) }()) - return int32(0) -} - -// C comment -// /************************* Global Variables **********************************/ -// /* -// ** All global variables used by this file are containing within the following -// ** gMultiplex structure. -// */ -var _gMultiplex t10 - -var _sqlite3_multiplex_initializeØ00__func__Ø000 [29]int8 - -func init() { - crt.Xstrncpy(nil, &_sqlite3_multiplex_initializeØ00__func__Ø000[0], str(6804), 29) -} - -// C comment -// /* -// ** This is the xOpen method used for the "multiplex" VFS. -// ** -// ** Most of the work is done by the underlying original VFS. This method -// ** simply links the new file into the appropriate multiplex group if it is a -// ** file that needs to be tracked. -// */ -func _multiplexOpen(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _pConn *bin.Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) { - var _rc, _nName, _sz, _9_bExists, _12_iChunk int32 - var _8_sz64 int64 - var _zToFree, _3_zUri, _4_p *int8 - var _pSubOpen *bin.Xsqlite3_file - var _pOrigVfs *bin.Xsqlite3_vfs - var _pGroup *XmultiplexGroup - var _pMultiplexOpen *XmultiplexConn - _rc = int32(0) - _pGroup = nil - _pSubOpen = nil - _pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - _nName = int32(0) - _sz = int32(0) - _zToFree = nil - - crt.Xmemset(tls, unsafe.Pointer(_pConn), int32(0), uint32(_pVfs.XszOsFile)) - func() { - if _zName == nil && (_flags&int32(8)) == 0 { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(484), unsafe.Pointer(&_multiplexOpenØ00__func__Ø000), unsafe.Pointer(str(6833))) - crt.X__builtin_abort(tls) - } - }() - _pMultiplexOpen = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - if _rc != int32(0) { - goto _3 - } - _nName = func() int32 { - if _zName != nil { - return _multiplexStrlen30(tls, _zName) - } - return int32(0) - }() - _sz = int32((uint32(28) + uint32(_nName)) + uint32(1)) - _pGroup = (*XmultiplexGroup)(bin.Xsqlite3_malloc64(tls, uint64(_sz))) - if _pGroup == nil { - _rc = int32(7) - } -_3: - if _rc != int32(0) { - goto _7 - } - _3_zUri = func() *int8 { - if (_flags & int32(64)) != 0 { - return _zName - } - return nil - }() - crt.Xmemset(tls, unsafe.Pointer(_pGroup), int32(0), uint32(_sz)) - *(**XmultiplexGroup)(unsafe.Pointer(&_pMultiplexOpen.XpGroup)) = _pGroup - _pGroup.XbEnabled = uint8(255) - _pGroup.XbTruncate = uint8(bin.Xsqlite3_uri_boolean(tls, _3_zUri, str(6878), bool2int((_flags&int32(256)) == int32(0)))) - _pGroup.XszChunk = uint32(int32(bin.Xsqlite3_uri_int64(tls, _3_zUri, str(6887), int64(2147418112)))) - _pGroup.XszChunk = (_pGroup.XszChunk + uint32(65535)) & uint32(4294901760) - if _zName != nil { - _4_p = (*int8)(unsafe.Pointer(elem11(_pGroup, uintptr(1)))) - _pGroup.XzName = _4_p - crt.Xmemcpy(tls, unsafe.Pointer(_pGroup.XzName), unsafe.Pointer(_zName), uint32(_nName+int32(1))) - _pGroup.XnName = _nName - } - if _pGroup.XbEnabled == 0 { - goto _11 - } -_12: - if (uint32(bin.Xsqlite3PendingByte()) % _pGroup.XszChunk) >= (_pGroup.XszChunk - uint32(65536)) { - _pGroup.XszChunk += uint32(65536) - goto _12 - } -_11: - _pGroup.Xflags = _flags - _rc = _multiplexSubFilename(tls, _pGroup, int32(1)) - if _rc != int32(0) { - goto _14 - } - _pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, _pOutFlags, int32(0)) - if (_pSubOpen == nil) && (_rc == int32(0)) { - _rc = int32(14) - } -_14: - if _rc != int32(0) { - goto _17 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, &_8_sz64) - if _rc != int32(0) || _zName == nil { - goto _19 - } - if (_flags & int32(16384)) != 0 { - _pGroup.XbEnabled = 0 - goto _29 - } - if _8_sz64 != (0) { - goto _22 - } - if (_flags & int32(2048)) == 0 { - goto _23 - } - _12_iChunk = int32(1) -_24: - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0), &_9_bExists) - if _rc != int32(0) || _9_bExists == 0 { - goto _26 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0)) - if _rc == int32(0) { - _rc = _multiplexSubFilename(tls, _pGroup, preInc7(&_12_iChunk, 1)) - } -_26: - if (_rc == int32(0)) && _9_bExists != 0 { - goto _24 - } -_23: - goto _29 -_22: - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(1)).Xz, int32(0), &_9_bExists) - _9_bExists = bool2int(_multiplexSubSize(tls, _pGroup, int32(1), &_rc) > (0)) - if ((((_rc == int32(0)) && _9_bExists != 0) && (_8_sz64 == (_8_sz64 & int64(4294901760)))) && (_8_sz64 > (0))) && (_8_sz64 != int64(_pGroup.XszChunk)) { - _pGroup.XszChunk = uint32(int32(_8_sz64)) - goto _38 - } - if ((_rc == int32(0)) && (_9_bExists == 0)) && (_8_sz64 > int64(_pGroup.XszChunk)) { - _pGroup.XbEnabled = 0 - } -_38: -_29: -_19: -_17: - if _rc != int32(0) { - goto _39 - } - if ((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XiVersion) == int32(1) { - *(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV1 - goto _41 - } - *(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV2 -_41: - goto _42 -_39: - _multiplexFreeComponents(tls, _pGroup) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup)) -_42: -_7: - bin.Xsqlite3_free(tls, unsafe.Pointer(_zToFree)) - return _rc -} - -var _multiplexOpenØ00__func__Ø000 [14]int8 - -func init() { - crt.Xstrncpy(nil, &_multiplexOpenØ00__func__Ø000[0], str(6897), 14) -} - -// C comment -// /************************* Utility Routines *********************************/ -// /* -// ** Compute a string length that is limited to what can be stored in -// ** lower 30 bits of a 32-bit signed integer. -// ** -// ** The value returned will never be negative. Nor will it ever be greater -// ** than the actual length of the string. For very long strings (greater -// ** than 1GiB) the value returned might be less than the true string length. -// */ -func _multiplexStrlen30(tls *crt.TLS, _z *int8) (r0 int32) { - var _z2 *int8 - _z2 = _z - if _z == nil { - return int32(0) - } -_0: - if (*_z2) != 0 { - *(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1) - goto _0 - } - return int32(1073741823) & int32(uintptr(unsafe.Pointer(_z2))-uintptr(unsafe.Pointer(_z))) -} - -// C comment -// /* Compute the filename for the iChunk-th chunk -// */ -func _multiplexSubFilename(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32) (r0 int32) { - var _3_n int32 - var _3_z *int8 - var _1_p *TmultiplexReal - if _iChunk < _pGroup.XnReal { - goto _0 - } - _1_p = (*TmultiplexReal)(bin.Xsqlite3_realloc64(tls, _pGroup.XaReal, uint64(uint32(_iChunk+int32(1))*uint32(8)))) - if _1_p == nil { - return int32(7) - } - crt.Xmemset(tls, unsafe.Pointer(elem12(_1_p, uintptr(_pGroup.XnReal))), int32(0), uint32(8)*uint32((_iChunk+int32(1))-_pGroup.XnReal)) - *(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = _1_p - _pGroup.XnReal = _iChunk + int32(1) -_0: - if _pGroup.XzName == nil || (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil { - goto _3 - } - _3_n = _pGroup.XnName - elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz = store2(&_3_z, (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_3_n+int32(5))))) - if _3_z == nil { - return int32(7) - } - _multiplexFilename(tls, _pGroup.XzName, _pGroup.XnName, _pGroup.Xflags, _iChunk, _3_z) -_3: - return int32(0) -} - -// C comment -// /* -// ** Generate the file-name for chunk iChunk of the group with base name -// ** zBase. The file-name is written to buffer zOut before returning. Buffer -// ** zOut must be allocated by the caller so that it is at least (nBase+5) -// ** bytes in size, where nBase is the length of zBase, not including the -// ** nul-terminator. -// ** -// ** If iChunk is 0 (or 400 - the number for the first journal file chunk), -// ** the output is a copy of the input string. Otherwise, if -// ** SQLITE_ENABLE_8_3_NAMES is not defined or the input buffer does not contain -// ** a "." character, then the output is a copy of the input string with the -// ** three-digit zero-padded decimal representation if iChunk appended to it. -// ** For example: -// ** -// ** zBase="test.db", iChunk=4 -> zOut="test.db004" -// ** -// ** Or, if SQLITE_ENABLE_8_3_NAMES is defined and the input buffer contains -// ** a "." character, then everything after the "." is replaced by the -// ** three-digit representation of iChunk. -// ** -// ** zBase="test.db", iChunk=4 -> zOut="test.004" -// ** -// ** The output buffer string is terminated by 2 0x00 bytes. This makes it safe -// ** to pass to sqlite3_uri_parameter() and similar. -// */ -func _multiplexFilename(tls *crt.TLS, _zBase *int8, _nBase int32, _flags int32, _iChunk int32, _zOut *int8) { - var _n int32 - _n = _nBase - crt.Xmemcpy(tls, unsafe.Pointer(_zOut), unsafe.Pointer(_zBase), uint32(_n+int32(1))) - if (_iChunk != int32(0)) && (_iChunk <= int32(299)) { - bin.Xsqlite3_snprintf(tls, int32(4), elem2(_zOut, uintptr(_n)), str(6911), _iChunk) - _n += int32(3) - } - func() { - if int32(*elem2(_zOut, uintptr(_n))) != int32(0) { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(250), unsafe.Pointer(&_multiplexFilenameØ00__func__Ø000), unsafe.Pointer(str(6916))) - crt.X__builtin_abort(tls) - } - }() - *elem2(_zOut, uintptr(_n+int32(1))) = 0 -} - -var _multiplexFilenameØ00__func__Ø000 [18]int8 - -func init() { - crt.Xstrncpy(nil, &_multiplexFilenameØ00__func__Ø000[0], str(6930), 18) -} - -// C comment -// /* Translate an sqlite3_file* that is really a multiplexGroup* into -// ** the sqlite3_file* for the underlying original VFS. -// ** -// ** For chunk 0, the pGroup->flags determines whether or not a new file -// ** is created if it does not already exist. For chunks 1 and higher, the -// ** file is created only if createFlag is 1. -// */ -func _multiplexSubOpen(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32, _pOutFlags *int32, _createFlag int32) (r0 *bin.Xsqlite3_file) { - var _1_flags, _1_bExists int32 - var _pSubOpen *bin.Xsqlite3_file - var _pOrigVfs *bin.Xsqlite3_vfs - _pSubOpen = nil - _pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - *_rc = _multiplexSubFilename(tls, _pGroup, _iChunk) - if (*_rc) != int32(0) || store13(&_pSubOpen, (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)) != nil { - goto _1 - } - _1_flags = _pGroup.Xflags - if _createFlag != 0 { - _1_flags |= int32(4) - goto _7 - } - if _iChunk == int32(0) { - goto _7 - } - if (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) == nil { - return nil - } - *_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0), &_1_bExists) - if (*_rc) == 0 && _1_bExists != 0 { - goto _9 - } - if (*_rc) != 0 { - bin.Xsqlite3_log(tls, *_rc, str(6948), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz)) - } - return nil - -_9: - _1_flags &= int32(-5) -_7: - _pSubOpen = (*bin.Xsqlite3_file)(bin.Xsqlite3_malloc64(tls, uint64(_pOrigVfs.XszOsFile))) - if _pSubOpen == nil { - *_rc = int32(3082) - return nil - } - *(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = _pSubOpen - *_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32 { - v := _pOrigVfs.XxOpen - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, _pSubOpen, _1_flags, _pOutFlags) - if (*_rc) != int32(0) { - bin.Xsqlite3_log(tls, *_rc, str(6982), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pSubOpen)) - *(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = nil - return nil - } -_1: - return _pSubOpen -} - -// C comment -// /* -// ** Return the size, in bytes, of chunk number iChunk. If that chunk -// ** does not exist, then return 0. This function does not distingish between -// ** non-existant files and zero-length files. -// */ -func _multiplexSubSize(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32) (r0 int64) { - var _sz int64 - var _pSub *bin.Xsqlite3_file - _sz = int64(0) - if (*_rc) != 0 { - return 0 - } - _pSub = _multiplexSubOpen(tls, _pGroup, _iChunk, _rc, nil, int32(0)) - if _pSub == nil { - return 0 - } - *_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSub.XpMethods).XxFileSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _pSub, &_sz) - return _sz -} - -// C comment -// /* -// ** Deallocate memory held by a multiplexGroup -// */ -func _multiplexFreeComponents(tls *crt.TLS, _pGroup *XmultiplexGroup) { - var _i int32 - _i = int32(0) -_0: - if _i >= _pGroup.XnReal { - goto _3 - } - _multiplexSubClose(tls, _pGroup, _i, nil) - _i += 1 - goto _0 -_3: - bin.Xsqlite3_free(tls, _pGroup.XaReal) - *(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = nil - _pGroup.XnReal = int32(0) -} - -// C comment -// /* -// ** Close a single sub-file in the connection group. -// */ -func _multiplexSubClose(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _pOrigVfs *bin.Xsqlite3_vfs) { - var _pSubOpen *bin.Xsqlite3_file - _pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp) - if _pSubOpen == nil { - goto _0 - } - func() func(*crt.TLS, *bin.Xsqlite3_file) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxClose - return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - if (_pOrigVfs != nil) && ((elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0)) - } - bin.Xsqlite3_free(tls, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp) -_0: - bin.Xsqlite3_free(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz)) - crt.Xmemset(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk))), int32(0), uint32(8)) -} - -// C comment -// /* -// ** This is the xDelete method used for the "multiplex" VFS. -// ** It attempts to delete the filename specified. -// */ -func _multiplexDelete(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _syncDir int32) (r0 int32) { - var _rc, _1_nName, _3_iChunk, _3_bExists int32 - var _1_z *int8 - var _pOrigVfs *bin.Xsqlite3_vfs - _pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _zName, _syncDir) - if _rc != int32(0) { - goto _0 - } - _1_nName = int32(crt.Xstrlen(tls, _zName)) - _1_z = (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_1_nName+int32(5)))) - if _1_z == nil { - _rc = int32(3082) - goto _2 - } - _3_iChunk = int32(0) -_3: - _multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, 1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists) - if (_rc == int32(0)) && _3_bExists != 0 { - goto _3 - } -_5: - if (_rc == int32(0)) && (_3_iChunk > int32(1)) { - _multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, -1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, _syncDir) - goto _5 - } - if _rc != int32(0) { - goto _8 - } - _3_iChunk = int32(0) -_9: - _multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, 1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists) - if (_rc == int32(0)) && _3_bExists != 0 { - goto _9 - } -_11: - if (_rc == int32(0)) && (_3_iChunk > int32(1)) { - _multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, -1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, _syncDir) - goto _11 - } -_8: -_2: - bin.Xsqlite3_free(tls, unsafe.Pointer(_1_z)) -_0: - return _rc -} - -func _multiplexAccess(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int32) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d) -} - -func _multiplexFullPathname(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int8) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxFullPathname - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d) -} - -func _multiplexDlOpen(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8) (r0 unsafe.Pointer) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlOpen - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexDlError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlError - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) -} - -func _multiplexDlSym(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer, _c *int8) (r0 func(*crt.TLS)) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlSym - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) -} - -func _multiplexDlClose(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer) { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlClose - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexRandomness(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxRandomness - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) -} - -func _multiplexSleep(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxSleep - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexCurrentTime(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *float64) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTime - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexGetLastError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) { - if ((*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError) != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) - } - return int32(0) -} - -func _multiplexCurrentTimeInt64(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int64) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTimeInt64 - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -// C comment -// /* xClose requests get passed through to the original VFS. -// ** We loop over all open chunk handles and close them. -// ** The group structure for this file is unlinked from -// ** our list of groups and freed. -// */ -func _multiplexClose(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) { - var _rc int32 - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - _multiplexFreeComponents(tls, _pGroup) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup)) - return _rc -} - -// C comment -// /* Pass xRead requests thru to the original VFS after -// ** determining the correct chunk to operate on. -// ** Break up reads across chunk boundaries. -// */ -func _multiplexRead(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { - var _rc, _5_i, _6_extra int32 - var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(266) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxRead - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst) -_2: - goto _3 -_0: -_4: - if _iAmt <= int32(0) { - goto _5 - } - _5_i = int32(_iOfst / int64(_pGroup.XszChunk)) - _5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1)) - if _5_pSubOpen == nil { - goto _6 - } - _6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk) - if _6_extra < int32(0) { - _6_extra = int32(0) - } - _iAmt -= _6_extra - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxRead - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk)) - if _rc != int32(0) { - goto _5 - } - _pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt)))) - _iOfst += int64(_iAmt) - _iAmt = _6_extra - goto _9 -_6: - _rc = int32(266) - goto _5 -_9: - goto _4 -_5: -_3: - return _rc -} - -// C comment -// /* Pass xWrite requests thru to the original VFS after -// ** determining the correct chunk to operate on. -// ** Break up writes across chunk boundaries. -// */ -func _multiplexWrite(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { - var _rc, _5_i, _6_extra int32 - var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(778) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxWrite - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst) -_2: - goto _3 -_0: -_4: - if _rc != int32(0) || _iAmt <= int32(0) { - goto _5 - } - _5_i = int32(_iOfst / int64(_pGroup.XszChunk)) - _5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1)) - if _5_pSubOpen == nil { - goto _7 - } - _6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk) - if _6_extra < int32(0) { - _6_extra = int32(0) - } - _iAmt -= _6_extra - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxWrite - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk)) - _pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt)))) - _iOfst += int64(_iAmt) - _iAmt = _6_extra -_7: - goto _4 -_5: -_3: - return _rc -} - -// C comment -// /* Pass xTruncate requests thru to the original VFS after -// ** determining the correct chunk to operate on. Delete any -// ** chunks above the truncate mark. -// */ -func _multiplexTruncate(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _size int64) (r0 int32) { - var _rc, _4_i, _4_iBaseGroup int32 - var _1_pSubOpen, _4_pSubOpen *bin.Xsqlite3_file - var _4_pOrigVfs *bin.Xsqlite3_vfs - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(1546) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxTruncate - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _size) -_2: - goto _3 -_0: - _4_iBaseGroup = int32(_size / int64(_pGroup.XszChunk)) - _4_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - _4_i = _pGroup.XnReal - int32(1) -_4: - if _4_i <= _4_iBaseGroup || _rc != int32(0) { - goto _8 - } - if _pGroup.XbTruncate != 0 { - _multiplexSubClose(tls, _pGroup, _4_i, _4_pOrigVfs) - goto _10 - } - _4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_i, &_rc, nil, int32(0)) - if _4_pSubOpen != nil { - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _4_pSubOpen, 0) - } -_10: - _4_i -= 1 - goto _4 -_8: - if _rc != int32(0) { - goto _12 - } - _4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_iBaseGroup, &_rc, nil, int32(0)) - if _4_pSubOpen != nil { - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _4_pSubOpen, _size%int64(_pGroup.XszChunk)) - } -_12: - if _rc != 0 { - _rc = int32(1546) - } -_3: - return _rc -} - -// C comment -// /* Pass xSync requests through to the original VFS without change -// */ -func _multiplexSync(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _flags int32) (r0 int32) { - var _rc, _i, _2_rc2 int32 - var _1_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - _i = int32(0) -_0: - if _i >= _pGroup.XnReal { - goto _3 - } - _1_pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_i)).Xp) - if _1_pSubOpen == nil { - goto _4 - } - _2_rc2 = func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxSync - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _flags) - if _2_rc2 != int32(0) { - _rc = _2_rc2 - } -_4: - _i += 1 - goto _0 -_3: - return _rc -} - -// C comment -// /* Pass xFileSize requests through to the original VFS. -// ** Aggregate the size of all the chunks before returning. -// */ -func _multiplexFileSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pSize *int64) (r0 int32) { - var _rc, _i int32 - var _5_sz int64 - var _1_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(1802) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxFileSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _pSize) -_2: - goto _3 -_0: - *_pSize = 0 - _i = int32(0) -_4: - if _rc != int32(0) { - goto _7 - } - _5_sz = _multiplexSubSize(tls, _pGroup, _i, &_rc) - if _5_sz == (0) { - goto _7 - } - *_pSize = (int64(_i) * int64(_pGroup.XszChunk)) + _5_sz - _i += 1 - goto _4 -_7: -_3: - return _rc -} - -// C comment -// /* Pass xLock requests through to the original VFS unchanged. -// */ -func _multiplexLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxLock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _lock) - } - return int32(5) -} - -// C comment -// /* Pass xUnlock requests through to the original VFS unchanged. -// */ -func _multiplexUnlock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxUnlock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _lock) - } - return int32(2058) -} - -// C comment -// /* Pass xCheckReservedLock requests through to the original VFS unchanged. -// */ -func _multiplexCheckReservedLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pResOut *int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxCheckReservedLock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _pResOut) - } - return int32(3594) -} - -// C comment -// /* Pass xFileControl requests through to the original VFS unchanged, -// ** except for any MULTIPLEX_CTRL_* requests here. -// */ -func _multiplexFileControl(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) { - var _rc, _2_bEnabled int32 - var _3_szChunk uint32 - var _6_aFcntl **int8 - var _pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(1) - if _gMultiplex.XisInitialized == 0 { - return int32(21) - } - switch _op { - case int32(5): - goto _5 - case int32(6): - goto _5 - case int32(14): - goto _7 - case int32(214014): - goto _2 - case int32(214015): - goto _3 - case int32(214016): - goto _4 - default: - goto _8 - } - -_2: - if _pArg != nil { - _2_bEnabled = *(*int32)(_pArg) - _pGroup.XbEnabled = uint8(_2_bEnabled) - _rc = int32(0) - } - goto _10 -_3: - if _pArg == nil { - goto _11 - } - _3_szChunk = *(*uint32)(_pArg) - if _3_szChunk < uint32(1) { - _rc = int32(21) - goto _13 - } - _3_szChunk = _3_szChunk + uint32(65535) - _3_szChunk &= uint32(4294901760) - _pGroup.XszChunk = _3_szChunk - _rc = int32(0) -_13: -_11: - goto _10 -_4: - _rc = int32(0) - goto _10 -_5: - _rc = int32(0) - goto _10 -_7: - _6_aFcntl = (**int8)(_pArg) - if (*elem1(_6_aFcntl, uintptr(1))) == nil || bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(1)), str(7014)) != int32(0) { - goto _15 - } - if (*elem1(_6_aFcntl, uintptr(2))) == nil || (*elem2(*elem1(_6_aFcntl, uintptr(2)), 0)) == 0 { - goto _17 - } - if (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7033)) == int32(0)) || (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7036)) == int32(0)) { - _pGroup.XbTruncate = uint8(1) - goto _22 - } - if (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7038)) == int32(0)) || (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7042)) == int32(0)) { - _pGroup.XbTruncate = 0 - } -_22: -_17: - *elem1(_6_aFcntl, 0) = bin.Xsqlite3_mprintf(tls, func() *int8 { - if _pGroup.XbTruncate != 0 { - return str(7033) - } - return str(7038) - }()) - _rc = int32(0) - goto _10 -_15: -_8: - _pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _pSubOpen == nil { - goto _25 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileControl - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _op, _pArg) - if (_op == int32(12)) && (_rc == int32(0)) { - *(**int8)(_pArg) = bin.Xsqlite3_mprintf(tls, str(7044), unsafe.Pointer(*(**int8)(_pArg))) - } -_25: - goto _10 -_10: - return _rc -} - -// C comment -// /* Pass xSectorSize requests through to the original VFS unchanged. -// */ -func _multiplexSectorSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if (_pSubOpen != nil) && (((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize) != nil) { - return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - } - return int32(4096) -} - -// C comment -// /* Pass xDeviceCharacteristics requests through to the original VFS unchanged. -// */ -func _multiplexDeviceCharacteristics(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxDeviceCharacteristics - return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - } - return int32(0) -} - -// C comment -// /* Pass xShmMap requests through to the original VFS unchanged. -// */ -func _multiplexShmMap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _iRegion int32, _szRegion int32, _bExtend int32, _pp *unsafe.Pointer) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmMap - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _iRegion, _szRegion, _bExtend, _pp) - } - return int32(10) -} - -// C comment -// /* Pass xShmLock requests through to the original VFS unchanged. -// */ -func _multiplexShmLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _ofst int32, _n int32, _flags int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmLock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _ofst, _n, _flags) - } - return int32(5) -} - -// C comment -// /* Pass xShmBarrier requests through to the original VFS unchanged. -// */ -func _multiplexShmBarrier(tls *crt.TLS, _pConn *bin.Xsqlite3_file) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - func() func(*crt.TLS, *bin.Xsqlite3_file) { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmBarrier - return *(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - } -} - -// C comment -// /* Pass xShmUnmap requests through to the original VFS unchanged. -// */ -func _multiplexShmUnmap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _deleteFlag int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmUnmap - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _deleteFlag) - } - return int32(0) -} - -// C comment -// /* -// ** This is the entry point to register the auto-extension for the -// ** multiplex_control() function. -// */ -func _multiplexFuncInit(tls *crt.TLS, _db unsafe.Pointer, _pzErrMsg **int8, _pApi *t14) (r0 int32) { - var _rc int32 - _rc = bin.Xsqlite3_create_function(tls, (*bin.Xsqlite3)(_db), str(7057), int32(2), int32(5), nil, func() func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem) { - v := _multiplexControlFunc - return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v)) - }(), nil, nil) - return _rc -} - -// C comment -// /* -// ** This is the implementation of the multiplex_control() SQL function. -// */ -func _multiplexControlFunc(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) { - var _rc, _op, _iVal int32 - var _db unsafe.Pointer - _rc = int32(0) - _db = unsafe.Pointer(bin.Xsqlite3_context_db_handle(tls, (*bin.Xsqlite3_context)(_context))) - _op = int32(0) - if (_db == nil) || (_argc != int32(2)) { - _rc = int32(1) - goto _2 - } - _op = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, 0))) - _iVal = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, uintptr(1)))) - switch _op { - case int32(1): - goto _4 - case int32(2): - goto _5 - case int32(3): - goto _6 - default: - goto _7 - } - -_4: - _op = int32(214014) - goto _8 -_5: - _op = int32(214015) - goto _8 -_6: - _op = int32(214016) - goto _8 -_7: - _rc = int32(12) - goto _8 -_8: -_2: - if _rc == int32(0) { - _rc = bin.Xsqlite3_file_control(tls, (*bin.Xsqlite3)(_db), nil, _op, unsafe.Pointer(&_iVal)) - } - bin.Xsqlite3_result_error_code(tls, (*bin.Xsqlite3_context)(_context), _rc) - _ = _iVal -} - -func bool2int(b bool) int32 { - if b { - return 1 - } - return 0 -} -func bug20530(interface{}) {} //TODO remove when https://github.com/golang/go/issues/20530 is fixed. -func init() { nzf32 *= -1; nzf64 *= -1 } - -var inf = math.Inf(1) -var nzf32 float32 // -0.0 -var nzf64 float64 // -0.0 -func elem1(a **int8, index uintptr) **int8 { - return (**int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index)) -} -func elem3(a *unsafe.Pointer, index uintptr) *unsafe.Pointer { - return (*unsafe.Pointer)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index)) -} -func elem8(a *int32, index uintptr) *int32 { - return (*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index)) -} -func elem2(a *int8, index uintptr) *int8 { - return (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index)) -} -func elem11(a *XmultiplexGroup, index uintptr) *XmultiplexGroup { - return (*XmultiplexGroup)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 28*index)) -} -func elem12(a *TmultiplexReal, index uintptr) *TmultiplexReal { - return (*TmultiplexReal)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index)) -} -func elem9(a *TStress2Task, index uintptr) *TStress2Task { - return (*TStress2Task)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index)) -} -func elem0(a *TThreadTest, index uintptr) *TThreadTest { - return (*TThreadTest)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 12*index)) -} -func elem4(a *uint32, index uintptr) *uint32 { - return (*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index)) -} -func elem6(a *uint8, index uintptr) *uint8 { - return (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index)) -} -func postInc6(p **uint8, d int) *uint8 { - q := (*uintptr)(unsafe.Pointer(p)) - v := *q - *q += uintptr(d) - return (*uint8)(unsafe.Pointer(v)) -} -func postInc7(p *int32, d int32) int32 { v := *p; *p += d; return v } -func preInc7(p *int32, d int32) int32 { v := *p + d; *p = v; return v } -func preInc5(p *uint32, d uint32) uint32 { v := *p + d; *p = v; return v } -func store2(p **int8, v *int8) *int8 { *p = v; return v } -func store13(p **bin.Xsqlite3_file, v *bin.Xsqlite3_file) *bin.Xsqlite3_file { *p = v; return v } -func store7(p *int32, v int32) int32 { *p = v; return v } -func store5(p *uint32, v uint32) uint32 { *p = v; return v } - -type XmultiplexGroup struct { - XaReal unsafe.Pointer - XnReal int32 - XzName *int8 - XnName int32 - Xflags int32 - XszChunk uint32 - XbEnabled uint8 - XbTruncate uint8 -} // t15 struct{aReal *struct{},nReal int32,zName *int8,nName int32,flags int32,szChunk uint32,bEnabled uint8,bTruncate uint8} - -type TmultiplexReal struct { - Xp unsafe.Pointer - Xz *int8 -} // t16 struct{p *struct{},z *int8} - -type XmultiplexConn struct { - Xbase bin.Xsqlite3_file - XpGroup unsafe.Pointer -} // t17 struct{base struct{pMethods *struct{}},pGroup *struct{}} - -type XMD5Context struct { - XisInit int32 - Xbuf [4]uint32 - Xbits [2]uint32 - Xu t18 -} // t19 struct{isInit int32,buf [4]uint32,bits [2]uint32,u union{in [64]uint8,in32 [16]uint32}} - -type XError struct { - Xrc int32 - XiLine int32 - XzErr *int8 -} // t20 struct{rc int32,iLine int32,zErr *int8} - -type XSqlite struct { - Xdb unsafe.Pointer - XpCache unsafe.Pointer - XnText int32 - XaText **int8 -} // t21 struct{db *struct{},pCache *struct{},nText int32,aText **int8} - -type XStatement struct { - XpStmt unsafe.Pointer - XpNext unsafe.Pointer -} // t22 struct{pStmt *struct{},pNext *struct{}} - -type XThread struct { - XiTid int32 - XpArg unsafe.Pointer - Xtid uint32 - XxProc func(*crt.TLS, int32, unsafe.Pointer) *int8 - XpNext unsafe.Pointer -} // t23 struct{iTid int32,pArg *struct{},tid uint32,xProc *func(int32,*struct{})*int8,pNext *struct{}} - -type XThreadset struct { - XiMaxTid int32 - XpThread unsafe.Pointer -} // t24 struct{iMaxTid int32,pThread *struct{}} - -type XCheckpointStarvationCtx struct { - XeMode int32 - XnMaxFrame int32 -} // t25 struct{eMode int32,nMaxFrame int32} - -type XStress2Ctx struct { - XzDb *int8 - XxProc func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) -} // t26 struct{zDb *int8,xProc *func(*struct{},*struct{},int32)} - -type TStress2Task struct { - Xx func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) -} // t27 struct{x *func(*struct{},*struct{},int32)} - -type TThreadTest struct { - XxTest func(*crt.TLS, int32) - XzTest *int8 - XnMs int32 -} // t28 struct{xTest *func(int32),zTest *int8,nMs int32} - -type t10 struct { - XpOrigVfs unsafe.Pointer - XsThisVfs bin.Xsqlite3_vfs - XsIoMethodsV1 bin.Xsqlite3_io_methods - XsIoMethodsV2 bin.Xsqlite3_io_methods - XisInitialized int32 -} // struct{pOrigVfs *struct{},sThisVfs struct{iVersion int32,szOsFile int32,mxPathname int32,pNext *struct{},zName *int8,pAppData *struct{},xOpen *func(*struct{},*int8,*struct{},int32,*int32)int32,xDelete *func(*struct{},*int8,int32)int32,xAccess *func(*struct{},*int8,int32,*int32)int32,xFullPathname *func(*struct{},*int8,int32,*int8)int32,xDlOpen *func(*struct{},*int8)*struct{},xDlError *func(*struct{},int32,*int8),xDlSym *func(*struct{},*struct{},*int8)*func(),xDlClose *func(*struct{},*struct{}),xRandomness *func(*struct{},int32,*int8)int32,xSleep *func(*struct{},int32)int32,xCurrentTime *func(*struct{},*float64)int32,xGetLastError *func(*struct{},int32,*int8)int32,xCurrentTimeInt64 *func(*struct{},*int64)int32,xSetSystemCall *func(*struct{},*int8,*func())int32,xGetSystemCall *func(*struct{},*int8)*func(),xNextSystemCall *func(*struct{},*int8)*int8},sIoMethodsV1 struct{iVersion int32,xClose *func(*struct{})int32,xRead *func(*struct{},*struct{},int32,int64)int32,xWrite *func(*struct{},*struct{},int32,int64)int32,xTruncate *func(*struct{},int64)int32,xSync *func(*struct{},int32)int32,xFileSize *func(*struct{},*int64)int32,xLock *func(*struct{},int32)int32,xUnlock *func(*struct{},int32)int32,xCheckReservedLock *func(*struct{},*int32)int32,xFileControl *func(*struct{},int32,*struct{})int32,xSectorSize *func(*struct{})int32,xDeviceCharacteristics *func(*struct{})int32,xShmMap *func(*struct{},int32,int32,int32,**struct{})int32,xShmLock *func(*struct{},int32,int32,int32)int32,xShmBarrier *func(*struct{}),xShmUnmap *func(*struct{},int32)int32,xFetch *func(*struct{},int64,int32,**struct{})int32,xUnfetch *func(*struct{},int64,*struct{})int32},sIoMethodsV2 struct{iVersion int32,xClose *func(*struct{})int32,xRead *func(*struct{},*struct{},int32,int64)int32,xWrite *func(*struct{},*struct{},int32,int64)int32,xTruncate *func(*struct{},int64)int32,xSync *func(*struct{},int32)int32,xFileSize *func(*struct{},*int64)int32,xLock *func(*struct{},int32)int32,xUnlock *func(*struct{},int32)int32,xCheckReservedLock *func(*struct{},*int32)int32,xFileControl *func(*struct{},int32,*struct{})int32,xSectorSize *func(*struct{})int32,xDeviceCharacteristics *func(*struct{})int32,xShmMap *func(*struct{},int32,int32,int32,**struct{})int32,xShmLock *func(*struct{},int32,int32,int32)int32,xShmBarrier *func(*struct{}),xShmUnmap *func(*struct{},int32)int32,xFetch *func(*struct{},int64,int32,**struct{})int32,xUnfetch *func(*struct{},int64,*struct{})int32},isInitialized int32} - -type t14 struct { - Xaggregate_context func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xaggregate_count func(*crt.TLS, unsafe.Pointer) int32 - Xbind_blob func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_double func(*crt.TLS, unsafe.Pointer, int32, float64) int32 - Xbind_int func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xbind_int64 func(*crt.TLS, unsafe.Pointer, int32, int64) int32 - Xbind_null func(*crt.TLS, unsafe.Pointer, int32) int32 - Xbind_parameter_count func(*crt.TLS, unsafe.Pointer) int32 - Xbind_parameter_index func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xbind_parameter_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xbind_text func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_text16 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_value func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 - Xbusy_handler func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32 - Xbusy_timeout func(*crt.TLS, unsafe.Pointer, int32) int32 - Xchanges func(*crt.TLS, unsafe.Pointer) int32 - Xclose func(*crt.TLS, unsafe.Pointer) int32 - Xcollation_needed func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32 - Xcollation_needed16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer)) int32 - Xcolumn_blob func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_bytes func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_bytes16 func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_count func(*crt.TLS, unsafe.Pointer) int32 - Xcolumn_database_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_database_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_decltype func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_decltype16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_double func(*crt.TLS, unsafe.Pointer, int32) float64 - Xcolumn_int func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_int64 func(*crt.TLS, unsafe.Pointer, int32) int64 - Xcolumn_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_origin_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_origin_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_table_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_table_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_text func(*crt.TLS, unsafe.Pointer, int32) *uint8 - Xcolumn_text16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_type func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_value func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcommit_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer - Xcomplete func(*crt.TLS, *int8) int32 - Xcomplete16 func(*crt.TLS, unsafe.Pointer) int32 - Xcreate_collation func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 - Xcreate_collation16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 - Xcreate_function func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 - Xcreate_function16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 - Xcreate_module func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32 - Xdata_count func(*crt.TLS, unsafe.Pointer) int32 - Xdb_handle func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xdeclare_vtab func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xenable_shared_cache func(*crt.TLS, int32) int32 - Xerrcode func(*crt.TLS, unsafe.Pointer) int32 - Xerrmsg func(*crt.TLS, unsafe.Pointer) *int8 - Xerrmsg16 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xexec func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32 - Xexpired func(*crt.TLS, unsafe.Pointer) int32 - Xfinalize func(*crt.TLS, unsafe.Pointer) int32 - Xfree func(*crt.TLS, unsafe.Pointer) - Xfree_table func(*crt.TLS, **int8) - Xget_autocommit func(*crt.TLS, unsafe.Pointer) int32 - Xget_auxdata func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xget_table func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32 - Xglobal_recover func(*crt.TLS) int32 - Xinterruptx func(*crt.TLS, unsafe.Pointer) - Xlast_insert_rowid func(*crt.TLS, unsafe.Pointer) int64 - Xlibversion func(*crt.TLS) *int8 - Xlibversion_number func(*crt.TLS) int32 - Xmalloc func(*crt.TLS, int32) unsafe.Pointer - Xmprintf func(*crt.TLS, *int8, ...interface{}) *int8 - Xopen func(*crt.TLS, *int8, *unsafe.Pointer) int32 - Xopen16 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 - Xprepare func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 - Xprepare16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 - Xprofile func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer - Xprogress_handler func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) - Xrealloc func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xreset func(*crt.TLS, unsafe.Pointer) int32 - Xresult_blob func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_double func(*crt.TLS, unsafe.Pointer, float64) - Xresult_error func(*crt.TLS, unsafe.Pointer, *int8, int32) - Xresult_error16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) - Xresult_int func(*crt.TLS, unsafe.Pointer, int32) - Xresult_int64 func(*crt.TLS, unsafe.Pointer, int64) - Xresult_null func(*crt.TLS, unsafe.Pointer) - Xresult_text func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_text16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_text16be func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_text16le func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_value func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) - Xrollback_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer - Xset_authorizer func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32 - Xset_auxdata func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) - Xsnprintf func(*crt.TLS, int32, *int8, *int8, ...interface{}) *int8 - Xstep func(*crt.TLS, unsafe.Pointer) int32 - Xtable_column_metadata func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32 - Xthread_cleanup func(*crt.TLS) - Xtotal_changes func(*crt.TLS, unsafe.Pointer) int32 - Xtrace func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer - Xtransfer_bindings func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 - Xupdate_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer - Xuser_data func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_blob func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_bytes func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_bytes16 func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_double func(*crt.TLS, unsafe.Pointer) float64 - Xvalue_int func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_int64 func(*crt.TLS, unsafe.Pointer) int64 - Xvalue_numeric_type func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_text func(*crt.TLS, unsafe.Pointer) *uint8 - Xvalue_text16 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_text16be func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_text16le func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_type func(*crt.TLS, unsafe.Pointer) int32 - Xvmprintf func(*crt.TLS, *int8, unsafe.Pointer) *int8 - Xoverload_function func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 - Xprepare_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 - Xprepare16_v2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 - Xclear_bindings func(*crt.TLS, unsafe.Pointer) int32 - Xcreate_module_v2 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_zeroblob func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xblob_bytes func(*crt.TLS, unsafe.Pointer) int32 - Xblob_close func(*crt.TLS, unsafe.Pointer) int32 - Xblob_open func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32 - Xblob_read func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 - Xblob_write func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 - Xcreate_collation_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xfile_control func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32 - Xmemory_highwater func(*crt.TLS, int32) int64 - Xmemory_used func(*crt.TLS) int64 - Xmutex_alloc func(*crt.TLS, int32) unsafe.Pointer - Xmutex_enter func(*crt.TLS, unsafe.Pointer) - Xmutex_free func(*crt.TLS, unsafe.Pointer) - Xmutex_leave func(*crt.TLS, unsafe.Pointer) - Xmutex_try func(*crt.TLS, unsafe.Pointer) int32 - Xopen_v2 func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32 - Xrelease_memory func(*crt.TLS, int32) int32 - Xresult_error_nomem func(*crt.TLS, unsafe.Pointer) - Xresult_error_toobig func(*crt.TLS, unsafe.Pointer) - Xsleep func(*crt.TLS, int32) int32 - Xsoft_heap_limit func(*crt.TLS, int32) - Xvfs_find func(*crt.TLS, *int8) unsafe.Pointer - Xvfs_register func(*crt.TLS, unsafe.Pointer, int32) int32 - Xvfs_unregister func(*crt.TLS, unsafe.Pointer) int32 - Xxthreadsafe func(*crt.TLS) int32 - Xresult_zeroblob func(*crt.TLS, unsafe.Pointer, int32) - Xresult_error_code func(*crt.TLS, unsafe.Pointer, int32) - Xtest_control func(*crt.TLS, int32, ...interface{}) int32 - Xrandomness func(*crt.TLS, int32, unsafe.Pointer) - Xcontext_db_handle func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xextended_result_codes func(*crt.TLS, unsafe.Pointer, int32) int32 - Xlimit func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xnext_stmt func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer - Xsql func(*crt.TLS, unsafe.Pointer) *int8 - Xstatus func(*crt.TLS, int32, *int32, *int32, int32) int32 - Xbackup_finish func(*crt.TLS, unsafe.Pointer) int32 - Xbackup_init func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer - Xbackup_pagecount func(*crt.TLS, unsafe.Pointer) int32 - Xbackup_remaining func(*crt.TLS, unsafe.Pointer) int32 - Xbackup_step func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcompileoption_get func(*crt.TLS, int32) *int8 - Xcompileoption_used func(*crt.TLS, *int8) int32 - Xcreate_function_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 - Xdb_config func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 - Xdb_mutex func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xdb_status func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32 - Xextended_errcode func(*crt.TLS, unsafe.Pointer) int32 - Xlog func(*crt.TLS, int32, *int8, ...interface{}) - Xsoft_heap_limit64 func(*crt.TLS, int64) int64 - Xsourceid func(*crt.TLS) *int8 - Xstmt_status func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xstrnicmp func(*crt.TLS, *int8, *int8, int32) int32 - Xunlock_notify func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, *unsafe.Pointer, int32), unsafe.Pointer) int32 - Xwal_autocheckpoint func(*crt.TLS, unsafe.Pointer, int32) int32 - Xwal_checkpoint func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xwal_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer - Xblob_reopen func(*crt.TLS, unsafe.Pointer, int64) int32 - Xvtab_config func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 - Xvtab_on_conflict func(*crt.TLS, unsafe.Pointer) int32 - Xclose_v2 func(*crt.TLS, unsafe.Pointer) int32 - Xdb_filename func(*crt.TLS, unsafe.Pointer, *int8) *int8 - Xdb_readonly func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xdb_release_memory func(*crt.TLS, unsafe.Pointer) int32 - Xerrstr func(*crt.TLS, int32) *int8 - Xstmt_busy func(*crt.TLS, unsafe.Pointer) int32 - Xstmt_readonly func(*crt.TLS, unsafe.Pointer) int32 - Xstricmp func(*crt.TLS, *int8, *int8) int32 - Xuri_boolean func(*crt.TLS, *int8, *int8, int32) int32 - Xuri_int64 func(*crt.TLS, *int8, *int8, int64) int64 - Xuri_parameter func(*crt.TLS, *int8, *int8) *int8 - Xvsnprintf func(*crt.TLS, int32, *int8, *int8, unsafe.Pointer) *int8 - Xwal_checkpoint_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32 - Xauto_extension func(*crt.TLS, func(*crt.TLS)) int32 - Xbind_blob64 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_text64 func(*crt.TLS, unsafe.Pointer, int32, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) int32 - Xcancel_auto_extension func(*crt.TLS, func(*crt.TLS)) int32 - Xload_extension func(*crt.TLS, unsafe.Pointer, *int8, *int8, **int8) int32 - Xmalloc64 func(*crt.TLS, uint64) unsafe.Pointer - Xmsize func(*crt.TLS, unsafe.Pointer) uint64 - Xrealloc64 func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer - Xreset_auto_extension func(*crt.TLS) - Xresult_blob64 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) - Xresult_text64 func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) - Xstrglob func(*crt.TLS, *int8, *int8) int32 - Xvalue_dup func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_free func(*crt.TLS, unsafe.Pointer) - Xresult_zeroblob64 func(*crt.TLS, unsafe.Pointer, uint64) int32 - Xbind_zeroblob64 func(*crt.TLS, unsafe.Pointer, int32, uint64) int32 - Xvalue_subtype func(*crt.TLS, unsafe.Pointer) uint32 - Xresult_subtype func(*crt.TLS, unsafe.Pointer, uint32) - Xstatus64 func(*crt.TLS, int32, *int64, *int64, int32) int32 - Xstrlike func(*crt.TLS, *int8, *int8, uint32) int32 - Xdb_cacheflush func(*crt.TLS, unsafe.Pointer) int32 - Xsystem_errno func(*crt.TLS, unsafe.Pointer) int32 - Xtrace_v2 func(*crt.TLS, unsafe.Pointer, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32 - Xexpanded_sql func(*crt.TLS, unsafe.Pointer) *int8 - Xset_last_insert_rowid func(*crt.TLS, unsafe.Pointer, int64) -} // struct{aggregate_context *func(*struct{},int32)*struct{},aggregate_count *func(*struct{})int32,bind_blob *func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,bind_double *func(*struct{},int32,float64)int32,bind_int *func(*struct{},int32,int32)int32,bind_int64 *func(*struct{},int32,int64)int32,bind_null *func(*struct{},int32)int32,bind_parameter_count *func(*struct{})int32,bind_parameter_index *func(*struct{},*int8)int32,bind_parameter_name *func(*struct{},int32)*int8,bind_text *func(*struct{},int32,*int8,int32,*func(*struct{}))int32,bind_text16 *func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,bind_value *func(*struct{},int32,*struct{})int32,busy_handler *func(*struct{},*func(*struct{},int32)int32,*struct{})int32,busy_timeout *func(*struct{},int32)int32,changes *func(*struct{})int32,close *func(*struct{})int32,collation_needed *func(*struct{},*struct{},*func(*struct{},*struct{},int32,*int8))int32,collation_needed16 *func(*struct{},*struct{},*func(*struct{},*struct{},int32,*struct{}))int32,column_blob *func(*struct{},int32)*struct{},column_bytes *func(*struct{},int32)int32,column_bytes16 *func(*struct{},int32)int32,column_count *func(*struct{})int32,column_database_name *func(*struct{},int32)*int8,column_database_name16 *func(*struct{},int32)*struct{},column_decltype *func(*struct{},int32)*int8,column_decltype16 *func(*struct{},int32)*struct{},column_double *func(*struct{},int32)float64,column_int *func(*struct{},int32)int32,column_int64 *func(*struct{},int32)int64,column_name *func(*struct{},int32)*int8,column_name16 *func(*struct{},int32)*struct{},column_origin_name *func(*struct{},int32)*int8,column_origin_name16 *func(*struct{},int32)*struct{},column_table_name *func(*struct{},int32)*int8,column_table_name16 *func(*struct{},int32)*struct{},column_text *func(*struct{},int32)*uint8,column_text16 *func(*struct{},int32)*struct{},column_type *func(*struct{},int32)int32,column_value *func(*struct{},int32)*struct{},commit_hook *func(*struct{},*func(*struct{})int32,*struct{})*struct{},complete *func(*int8)int32,complete16 *func(*struct{})int32,create_collation *func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,create_collation16 *func(*struct{},*struct{},int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,create_function *func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,create_function16 *func(*struct{},*struct{},int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,create_module *func(*struct{},*int8,*struct{},*struct{})int32,data_count *func(*struct{})int32,db_handle *func(*struct{})*struct{},declare_vtab *func(*struct{},*int8)int32,enable_shared_cache *func(int32)int32,errcode *func(*struct{})int32,errmsg *func(*struct{})*int8,errmsg16 *func(*struct{})*struct{},exec *func(*struct{},*int8,*func(*struct{},int32,**int8,**int8)int32,*struct{},**int8)int32,expired *func(*struct{})int32,finalize *func(*struct{})int32,free *func(*struct{}),free_table *func(**int8),get_autocommit *func(*struct{})int32,get_auxdata *func(*struct{},int32)*struct{},get_table *func(*struct{},*int8,***int8,*int32,*int32,**int8)int32,global_recover *func()int32,interruptx *func(*struct{}),last_insert_rowid *func(*struct{})int64,libversion *func()*int8,libversion_number *func()int32,malloc *func(int32)*struct{},mprintf *func(*int8...)*int8,open *func(*int8,**struct{})int32,open16 *func(*struct{},**struct{})int32,prepare *func(*struct{},*int8,int32,**struct{},**int8)int32,prepare16 *func(*struct{},*struct{},int32,**struct{},**struct{})int32,profile *func(*struct{},*func(*struct{},*int8,uint64),*struct{})*struct{},progress_handler *func(*struct{},int32,*func(*struct{})int32,*struct{}),realloc *func(*struct{},int32)*struct{},reset *func(*struct{})int32,result_blob *func(*struct{},*struct{},int32,*func(*struct{})),result_double *func(*struct{},float64),result_error *func(*struct{},*int8,int32),result_error16 *func(*struct{},*struct{},int32),result_int *func(*struct{},int32),result_int64 *func(*struct{},int64),result_null *func(*struct{}),result_text *func(*struct{},*int8,int32,*func(*struct{})),result_text16 *func(*struct{},*struct{},int32,*func(*struct{})),result_text16be *func(*struct{},*struct{},int32,*func(*struct{})),result_text16le *func(*struct{},*struct{},int32,*func(*struct{})),result_value *func(*struct{},*struct{}),rollback_hook *func(*struct{},*func(*struct{}),*struct{})*struct{},set_authorizer *func(*struct{},*func(*struct{},int32,*int8,*int8,*int8,*int8)int32,*struct{})int32,set_auxdata *func(*struct{},int32,*struct{},*func(*struct{})),snprintf *func(int32,*int8,*int8...)*int8,step *func(*struct{})int32,table_column_metadata *func(*struct{},*int8,*int8,*int8,**int8,**int8,*int32,*int32,*int32)int32,thread_cleanup *func(),total_changes *func(*struct{})int32,trace *func(*struct{},*func(*struct{},*int8),*struct{})*struct{},transfer_bindings *func(*struct{},*struct{})int32,update_hook *func(*struct{},*func(*struct{},int32,*int8,*int8,int64),*struct{})*struct{},user_data *func(*struct{})*struct{},value_blob *func(*struct{})*struct{},value_bytes *func(*struct{})int32,value_bytes16 *func(*struct{})int32,value_double *func(*struct{})float64,value_int *func(*struct{})int32,value_int64 *func(*struct{})int64,value_numeric_type *func(*struct{})int32,value_text *func(*struct{})*uint8,value_text16 *func(*struct{})*struct{},value_text16be *func(*struct{})*struct{},value_text16le *func(*struct{})*struct{},value_type *func(*struct{})int32,vmprintf *func(*int8,*struct{})*int8,overload_function *func(*struct{},*int8,int32)int32,prepare_v2 *func(*struct{},*int8,int32,**struct{},**int8)int32,prepare16_v2 *func(*struct{},*struct{},int32,**struct{},**struct{})int32,clear_bindings *func(*struct{})int32,create_module_v2 *func(*struct{},*int8,*struct{},*struct{},*func(*struct{}))int32,bind_zeroblob *func(*struct{},int32,int32)int32,blob_bytes *func(*struct{})int32,blob_close *func(*struct{})int32,blob_open *func(*struct{},*int8,*int8,*int8,int64,int32,**struct{})int32,blob_read *func(*struct{},*struct{},int32,int32)int32,blob_write *func(*struct{},*struct{},int32,int32)int32,create_collation_v2 *func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32,*func(*struct{}))int32,file_control *func(*struct{},*int8,int32,*struct{})int32,memory_highwater *func(int32)int64,memory_used *func()int64,mutex_alloc *func(int32)*struct{},mutex_enter *func(*struct{}),mutex_free *func(*struct{}),mutex_leave *func(*struct{}),mutex_try *func(*struct{})int32,open_v2 *func(*int8,**struct{},int32,*int8)int32,release_memory *func(int32)int32,result_error_nomem *func(*struct{}),result_error_toobig *func(*struct{}),sleep *func(int32)int32,soft_heap_limit *func(int32),vfs_find *func(*int8)*struct{},vfs_register *func(*struct{},int32)int32,vfs_unregister *func(*struct{})int32,xthreadsafe *func()int32,result_zeroblob *func(*struct{},int32),result_error_code *func(*struct{},int32),test_control *func(int32...)int32,randomness *func(int32,*struct{}),context_db_handle *func(*struct{})*struct{},extended_result_codes *func(*struct{},int32)int32,limit *func(*struct{},int32,int32)int32,next_stmt *func(*struct{},*struct{})*struct{},sql *func(*struct{})*int8,status *func(int32,*int32,*int32,int32)int32,backup_finish *func(*struct{})int32,backup_init *func(*struct{},*int8,*struct{},*int8)*struct{},backup_pagecount *func(*struct{})int32,backup_remaining *func(*struct{})int32,backup_step *func(*struct{},int32)int32,compileoption_get *func(int32)*int8,compileoption_used *func(*int8)int32,create_function_v2 *func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}),*func(*struct{}))int32,db_config *func(*struct{},int32...)int32,db_mutex *func(*struct{})*struct{},db_status *func(*struct{},int32,*int32,*int32,int32)int32,extended_errcode *func(*struct{})int32,log *func(int32,*int8...),soft_heap_limit64 *func(int64)int64,sourceid *func()*int8,stmt_status *func(*struct{},int32,int32)int32,strnicmp *func(*int8,*int8,int32)int32,unlock_notify *func(*struct{},*func(**struct{},int32),*struct{})int32,wal_autocheckpoint *func(*struct{},int32)int32,wal_checkpoint *func(*struct{},*int8)int32,wal_hook *func(*struct{},*func(*struct{},*struct{},*int8,int32)int32,*struct{})*struct{},blob_reopen *func(*struct{},int64)int32,vtab_config *func(*struct{},int32...)int32,vtab_on_conflict *func(*struct{})int32,close_v2 *func(*struct{})int32,db_filename *func(*struct{},*int8)*int8,db_readonly *func(*struct{},*int8)int32,db_release_memory *func(*struct{})int32,errstr *func(int32)*int8,stmt_busy *func(*struct{})int32,stmt_readonly *func(*struct{})int32,stricmp *func(*int8,*int8)int32,uri_boolean *func(*int8,*int8,int32)int32,uri_int64 *func(*int8,*int8,int64)int64,uri_parameter *func(*int8,*int8)*int8,vsnprintf *func(int32,*int8,*int8,*struct{})*int8,wal_checkpoint_v2 *func(*struct{},*int8,int32,*int32,*int32)int32,auto_extension *func(*func())int32,bind_blob64 *func(*struct{},int32,*struct{},uint64,*func(*struct{}))int32,bind_text64 *func(*struct{},int32,*int8,uint64,*func(*struct{}),uint8)int32,cancel_auto_extension *func(*func())int32,load_extension *func(*struct{},*int8,*int8,**int8)int32,malloc64 *func(uint64)*struct{},msize *func(*struct{})uint64,realloc64 *func(*struct{},uint64)*struct{},reset_auto_extension *func(),result_blob64 *func(*struct{},*struct{},uint64,*func(*struct{})),result_text64 *func(*struct{},*int8,uint64,*func(*struct{}),uint8),strglob *func(*int8,*int8)int32,value_dup *func(*struct{})*struct{},value_free *func(*struct{}),result_zeroblob64 *func(*struct{},uint64)int32,bind_zeroblob64 *func(*struct{},int32,uint64)int32,value_subtype *func(*struct{})uint32,result_subtype *func(*struct{},uint32),status64 *func(int32,*int64,*int64,int32)int32,strlike *func(*int8,*int8,uint32)int32,db_cacheflush *func(*struct{})int32,system_errno *func(*struct{})int32,trace_v2 *func(*struct{},uint32,*func(uint32,*struct{},*struct{},*struct{})int32,*struct{})int32,expanded_sql *func(*struct{})*int8,set_last_insert_rowid *func(*struct{},int64)} - -type t18 struct { - X [0]struct { - Xin [64]uint8 - Xin32 [16]uint32 - } - U [64]byte -} // union{in [64]uint8,in32 [16]uint32} -func str(n int) *int8 { return (*int8)(unsafe.Pointer(&strTab[n])) } -func wstr(n int) *int32 { return (*int32)(unsafe.Pointer(&strTab[n])) } - -var strTab = []byte("walthread1\x00walthread2\x00walthread3\x00walthread4\x00walthread5\x00cgt_pager_1\x00dynamic_triggers\x00checkpoint_starvation_1\x00checkpoint_starvation_2\x00create_drop_index_1\x00lookaside1\x00vacuum1\x00stress1\x00stress2\x00-multiplexor\x00Failed to install multiplexor VFS (%d)\x0a\x00Running %s for %d seconds...\x0a\x00%d errors out of %d tests\x0a\x00Usage: %s [-multiplexor] [testname|testprefix*]...\x0a\x00Available tests are:\x0a\x00 %s\x0a\x00test.db\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(x PRIMARY KEY);INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 SELECT md5sum(x) FROM t1;\x00open\x00md5sum\x00PRAGMA synchronous=OFF\x00sqlite3_%s() - %s (%d)\x000123456789abcdef\x00%s\x00SELECT md5sum(x) FROM t1 WHERE rowid != (SELECT max(rowid) FROM t1)\x00SELECT x FROM t1 WHERE rowid = (SELECT max(rowid) FROM t1)\x00BEGIN\x00COMMIT\x00Failed read: %s %s %s\x00BEGIN;INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 SELECT md5sum(x) FROM t1;COMMIT;\x00%d iterations\x00reset\x00Cannot discern type: \"%s\"\x00prepare_v2\x00%s:%i: assertion failure in %s: %s\x0a\x00../../../sqlite.org/sqlite-src-3190300/test/threadtest3.c\x000==strcmp(sqlite3_sql(pRet->pStmt), zSql)\x00getSqlStatement\x00PRAGMA integrity_check\x00ok\x00%z\x0a%s\x00* - no such table: *\x00%s: (%d) \"%s\" at line %d\x0a\x00Warning\x00Error\x00PRAGMA wal_checkpoint\x00%d checkpoints\x00Thread %d says: %s\x0a\x00...\x00CREATE TABLE t1(x INTEGER PRIMARY KEY, y UNIQUE)\x00PRAGMA journal_mode = WAL\x00PRAGMA journal_mode = DELETE\x00INSERT INTO t1 VALUES(NULL, randomblob(100))\x00test.db-journal\x00test.db-wal\x00File system looks incorrect (%d, %d)\x00W %d R %d\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(cnt PRIMARY KEY, sum1, sum2);CREATE INDEX i1 ON t1(sum1);CREATE INDEX i2 ON t1(sum2);INSERT INTO t1 VALUES(0, 0, 0);\x00PRAGMA wal_autocheckpoint = 10\x00SELECT max(cnt) FROM t1\x00SELECT sum(cnt) FROM t1\x00SELECT sum(sum1) FROM t1\x00INSERT INTO t1 VALUES(:iNextWrite, :iSum1, :iSum2)\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(a INTEGER PRIMARY KEY, b UNIQUE);\x00PRAGMA wal_autocheckpoint = 15;\x00REPLACE INTO t1 VALUES(:iRow, randomblob(300))\x00PRAGMA wal_autocheckpoint = 0;PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x);BEGIN;INSERT INTO t1 VALUES(randomblob(900));INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 2 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 4 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 8 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 16 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 32 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 64 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 128 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 256 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 512 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 1024 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 2048 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 4096 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 8192 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 16384 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 32768 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 65536 */COMMIT;\x00test_sv.db\x00test_sv.db-wal\x00 WAL file is %d bytes,\x00 DB file is %d.\x0a\x00no such file: %s\x00SELECT count(*) FROM t1\x00Bad row count: %d\x00PRAGMA cache_size = 2000;PRAGMA page_size = 1024;CREATE TABLE t1(a INTEGER PRIMARY KEY, b BLOB);\x00INSERT INTO t1 VALUES(:iRow, zeroblob(:iBlob))\x00UPDATE t1 SET b = zeroblob(:iBlob) WHERE a = :iRow\x00SELECT * FROM t1 WHERE a = :iRow\x00PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x, y);CREATE TABLE t2(x, y);CREATE TABLE t3(x, y);CREATE TABLE t4(x, y);CREATE TABLE t5(x, y);CREATE TABLE t6(x, y);CREATE TABLE t7(x, y);CREATE TABLE t8(x, y);CREATE TABLE t9(x, y);\x00INSERT INTO t1 VALUES(:iX, :iY+1)\x00DELETE FROM t1 WHERE x = :iX\x00%d inserts, %d deletes\x00CREATE TRIGGER itr%d BEFORE INSERT ON t%d BEGIN INSERT INTO t%d VALUES(new.x, new.y);END;\x00CREATE TRIGGER dtr%d BEFORE DELETE ON t%d BEGIN DELETE FROM t%d WHERE x = old.x; END;\x00DROP TRIGGER itr%d\x00DROP TRIGGER dtr%d\x00%d created, %d dropped\x00WAL failed to grow - %d frames\x00PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x);\x00INSERT INTO t1 VALUES(randomblob(1200))\x00 Checkpoint mode : %s\x0a\x00PASSIVE\x00RESTART\x00 Peak WAL : %d frames\x0a\x00 Transaction count: %d transactions\x0a\x00SELECT count(x) FROM t1\x00Isolation failure - %lld %lld\x00WAL grew too large - %d frames\x00CREATE TABLE t11(a, b, c, d);WITH data(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM data WHERE x<100) INSERT INTO t11 SELECT x,x,x,x FROM data;\x00DROP INDEX IF EXISTS i1;DROP INDEX IF EXISTS i2;DROP INDEX IF EXISTS i3;DROP INDEX IF EXISTS i4;CREATE INDEX IF NOT EXISTS i1 ON t11(a);CREATE INDEX IF NOT EXISTS i2 ON t11(b);CREATE INDEX IF NOT EXISTS i3 ON t11(c);CREATE INDEX IF NOT EXISTS i4 ON t11(d);SELECT * FROM t11 ORDER BY a;SELECT * FROM t11 ORDER BY b;SELECT * FROM t11 ORDER BY c;SELECT * FROM t11 ORDER BY d;\x00CREATE TABLE t1(x PRIMARY KEY) WITHOUT ROWID;WITH data(x,y) AS ( SELECT 1, quote(randomblob(750)) UNION ALL SELECT x*2, y||y FROM data WHERE x<5) INSERT INTO t1 SELECT y FROM data;CREATE TABLE t3(x PRIMARY KEY,i) WITHOUT ROWID;INSERT INTO t3 VALUES(1, 1);CREATE TABLE t2(x,y,z);INSERT INTO t2 VALUES(randomblob(50), randomblob(50), randomblob(50));\x00SELECT 1 FROM t1\x00SELECT length(x||y||z) FROM t2\x00finalize\x00BEGIN;UPDATE t3 SET i=i+1 WHERE x=1;ROLLBACK;\x00CREATE TABLE t1(x PRIMARY KEY, y BLOB);CREATE INDEX i1 ON t1(y);\x00WITH loop(i) AS (SELECT 1 UNION ALL SELECT i+1 FROM loop WHERE i<100) INSERT INTO t1 SELECT randomblob(50), randomblob(2500) FROM loop\x00DELETE FROM t1 WHERE rowid = :i\x00SELECT * FROM t1 ORDER BY x\x00VACUUM\x00CREATE TABLE IF NOT EXISTS t1(a PRIMARY KEY, b)\x00DROP TABLE IF EXISTS t1\x00SELECT * FROM sqlite_master;\x00SELECT * FROM t1 ORDER BY a;\x00read t1 %d/%d attempts\x00WITH loop(i) AS (SELECT 1 UNION ALL SELECT i+1 FROM loop LIMIT 200) INSERT INTO t1 VALUES(randomblob(60), randomblob(60));\x00wrote t1 %d/%d attempts\x00DELETE FROM t1 WHERE (rowid % 4)==:i\x00deleted from t1 %d/%d attempts\x00CREATE TABLE IF NOT EXISTS t0(x PRIMARY KEY, y, z);CREATE INDEX IF NOT EXISTS i0 ON t0(y);\x00CREATE TABLE IF NOT EXISTS t%d(x PRIMARY KEY, y, z);\x00DROP TABLE IF EXISTS t%d;\x00SELECT * FROM t0 WHERE z = 'small'\x00SELECT * FROM t0 WHERE z = 'big'\x00INSERT INTO t0 VALUES(hex(random()), hex(randomblob(200)), 'small');\x00INSERT INTO t0 VALUES(hex(random()), hex(randomblob(57)), 'big');\x00UPDATE t0 SET y = hex(randomblob(200)) WHERE x LIKE hex((%d %% 5)) AND z='small';\x00UPDATE t0 SET y = hex(randomblob(57)) WHERE x LIKE hex(%d %% 5) AND z='big';\x00DELETE FROM t0 WHERE x LIKE hex(%d %% 5) AND z='small';\x00DELETE FROM t0 WHERE x LIKE hex(%d %% 5) AND z='big';\x00PRAGMA journal_mode = %q\x00delete\x00wal\x00ok %d/%d\x00*\x00../../../sqlite.org/sqlite-src-3190300/src/test_multiplex.c\x00pOrigVfs!=&gMultiplex.sThisVfs\x00multiplex\x00sqlite3_multiplex_initialize\x00zName || (flags & SQLITE_OPEN_DELETEONCLOSE)\x00truncate\x00chunksize\x00multiplexOpen\x00%03d\x00zOut[n]=='\\0'\x00multiplexFilename\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_truncate\x00on\x001\x00off\x000\x00multiplex/%z\x00multiplex_control\x00") diff --git a/internal/threadtest3/threadtest3_linux_amd64.go b/internal/threadtest3/threadtest3_linux_amd64.go deleted file mode 100644 index fa38f92..0000000 --- a/internal/threadtest3/threadtest3_linux_amd64.go +++ /dev/null @@ -1,6283 +0,0 @@ -// Code generated by ccgo. DO NOT EDIT. - -// threadtest3 -// /* -// ** 2010-07-22 -// ** -// ** The author disclaims copyright to this source code. In place of -// ** a legal notice, here is a blessing: -// ** -// ** May you do good and not evil. -// ** May you find forgiveness for yourself and forgive others. -// ** May you share freely, never taking more than you give. -// ** -// ************************************************************************* -// ** -// ** The code in this file runs a few multi-threaded test cases using the -// ** SQLite library. It can be compiled to an executable on unix using the -// ** following command: -// ** -// ** gcc -O2 threadtest3.c sqlite3.c -ldl -lpthread -lm -// ** -// ** Even though threadtest3.c is the only C source code file mentioned on -// ** the compiler command-line, #include macros are used to pull in additional -// ** C code files named "tt3_*.c". -// ** -// ** After compiling, run this program with an optional argument telling -// ** which test to run. All tests are run if no argument is given. The -// ** argument can be a glob pattern to match multiple tests. Examples: -// ** -// ** ./a.out -- Run all tests -// ** ./a.out walthread3 -- Run the "walthread3" test -// ** ./a.out 'wal*' -- Run all of the wal* tests -// ** ./a.out --help -- List all available tests -// ** -// ** The exit status is non-zero if any test fails. -// */ - -// /* -// ** The "Set Error Line" macro. -// */ -package main - -import ( - "math" - "os" - "unsafe" - - "modernc.org/ccgo/crt" - "modernc.org/sqlite/internal/bin" -) - -var argv []*int8 - -func main() { - for _, v := range os.Args { - argv = append(argv, (*int8)(crt.CString(v))) - } - argv = append(argv, nil) - X_start(crt.NewTLS(), int32(len(os.Args)), &argv[0]) -} - -func X_start(tls *crt.TLS, _argc int32, _argv **int8) { - crt.X__register_stdfiles(tls, Xstdin, Xstdout, Xstderr) - crt.X__builtin_exit(tls, Xmain(tls, _argc, _argv)) -} - -var Xstdin unsafe.Pointer - -func init() { - Xstdin = unsafe.Pointer(&X__stdfiles) -} - -var X__stdfiles [3]unsafe.Pointer - -var Xstdout unsafe.Pointer - -func init() { - Xstdout = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 8) -} - -var Xstderr unsafe.Pointer - -func init() { - Xstderr = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 16) -} - -func Xmain(tls *crt.TLS, _argc int32, _argv **int8) (r0 int32) { - var _i, _iArg, _nTestfound, _4_rc int32 - var _2_zArg, _9_z *int8 - var _aTest [14]TThreadTest - r0 = int32(0) - _aTest = [14]TThreadTest{} - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XxTest = _walthread1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XzTest = str(0) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XxTest = _walthread2 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XzTest = str(11) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XxTest = _walthread3 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XzTest = str(22) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XxTest = _walthread4 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XzTest = str(33) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XxTest = _walthread5 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XzTest = str(44) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XnMs = int32(1000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XxTest = _cgt_pager_1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XzTest = str(55) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XnMs = int32(0) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XxTest = _dynamic_triggers - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XzTest = str(67) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XnMs = int32(20000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XxTest = _checkpoint_starvation_1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XzTest = str(84) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XxTest = _checkpoint_starvation_2 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XzTest = str(108) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XxTest = _create_drop_index_1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XzTest = str(132) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XxTest = _lookaside1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XzTest = str(152) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XxTest = _vacuum1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XzTest = str(163) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XxTest = _stress1 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XzTest = str(171) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XnMs = int32(10000) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XxTest = _stress2 - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XzTest = str(179) - elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XnMs = int32(60000) - _nTestfound = int32(0) - bin.Xsqlite3_config(tls, int32(2)) - if _argc < int32(2) { - _argc = int32(2) - _argv = (**int8)(unsafe.Pointer(&_mainØ00substArgvØ001)) - } - _iArg = int32(1) -_1: - if _iArg >= _argc { - goto _4 - } - _2_zArg = *elem1(_argv, uintptr(_iArg)) - if int32(*elem2(_2_zArg, 0)) != int32(45) { - goto _5 - } - if bin.Xsqlite3_stricmp(tls, _2_zArg, str(187)) != int32(0) { - goto _6 - } - _4_rc = Xsqlite3_multiplex_initialize(tls, nil, int32(1)) - if _4_rc != int32(0) { - crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(200), _4_rc) - return int32(253) - } - goto _8 -_6: - goto _usage -_8: - goto _2 -_5: - _i = int32(0) -_9: - if uint64(_i) >= uint64(14) { - goto _12 - } - if bin.Xsqlite3_strglob(tls, _2_zArg, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest) == int32(0) { - goto _12 - } - _i += 1 - goto _9 -_12: - if uint64(_i) >= uint64(14) { - goto _usage - } -_2: - _iArg += 1 - goto _1 -_4: - _iArg = int32(1) -_15: - if _iArg >= _argc { - goto _18 - } - if int32(*elem2(*elem1(_argv, uintptr(_iArg)), 0)) == int32(45) { - goto _16 - } - _i = int32(0) -_20: - if uint64(_i) >= uint64(14) { - goto _23 - } - _9_z = elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest - if bin.Xsqlite3_strglob(tls, *elem1(_argv, uintptr(_iArg)), _9_z) == int32(0) { - crt.Xprintf(tls, str(240), unsafe.Pointer(_9_z), (elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs)/int32(1000)) - crt.Xfflush(tls, (*crt.XFILE)(Xstdout)) - (elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XxTest)(tls, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs) - _nTestfound += 1 - } - _i += 1 - goto _20 -_23: -_16: - _iArg += 1 - goto _15 -_18: - if _nTestfound == int32(0) { - goto _usage - } - crt.Xprintf(tls, str(270), _nGlobalErr, _nTestfound) - return func() int32 { - if _nGlobalErr > int32(0) { - return int32(255) - } - return int32(0) - }() - -_usage: - crt.Xprintf(tls, str(297), unsafe.Pointer(*elem1(_argv, 0))) - crt.Xprintf(tls, str(349)) - _i = int32(0) -_28: - if uint64(_i) >= uint64(14) { - goto _31 - } - crt.Xprintf(tls, str(371), unsafe.Pointer(elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest)) - _i += 1 - goto _28 -_31: - return int32(254) - - _ = _aTest - panic(0) -} - -func _walthread1(tls *crt.TLS, _nMs int32) { - var _i int32 - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(987) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(988) - }() - return &_err - }(), &_db, str(386)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(995) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(997) - }() - return &_err - }(), _nMs) - _i = int32(0) -_8: - if _i >= int32(10) { - goto _11 - } - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(999) - }() - return &_err - }(), &_threads, _walthread1_thread, nil) - _i += 1 - goto _8 -_11: - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1001) - }() - return &_err - }(), &_threads, _walthread1_ckpt_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1002) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _opendb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFile *int8, _bDelete int32) { - var _1_rc, _1_flags int32 - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_flags = int32(70) - if _bDelete != 0 { - crt.Xunlink(tls, _zFile) - } - _1_rc = bin.Xsqlite3_open_v2(tls, _zFile, (**bin.Xsqlite3)(unsafe.Pointer(&_pDb.Xdb)), _1_flags, nil) - if _1_rc != 0 { - _sqlite_error(tls, _pErr, _pDb, str(562)) - bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb)) - _pDb.Xdb = nil - goto _3 - } - bin.Xsqlite3_create_function(tls, (*bin.Xsqlite3)(_pDb.Xdb), str(567), int32(-1), int32(1), nil, nil, func() func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem) { - v := _md5step - return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v)) - }(), func() func(*crt.TLS, *bin.Xsqlite3_context) { - v := _md5finalize - return *(*func(*crt.TLS, *bin.Xsqlite3_context))(unsafe.Pointer(&v)) - }()) - bin.Xsqlite3_busy_handler(tls, (*bin.Xsqlite3)(_pDb.Xdb), _busyhandler, nil) - bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), str(574), nil, nil, nil) -_3: -_0: -} - -func _sqlite_error(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFunc *int8) { - _pErr.Xrc = bin.Xsqlite3_errcode(tls, (*bin.Xsqlite3)(_pDb.Xdb)) - _pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(597), unsafe.Pointer(_zFunc), unsafe.Pointer(bin.Xsqlite3_errmsg(tls, (*bin.Xsqlite3)(_pDb.Xdb))), bin.Xsqlite3_extended_errcode(tls, (*bin.Xsqlite3)(_pDb.Xdb))) -} - -// C comment -// /* -// ** During testing, the special md5sum() aggregate function is available. -// ** inside SQLite. The following routines implement that function. -// */ -func _md5step(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) { - var _i int32 - var _2_zData *int8 - var _p *XMD5Context - if _argc < int32(1) { - return - } - _p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92))) - if _p == nil { - return - } - if _p.XisInit == 0 { - _MD5Init(tls, _p) - } - _i = int32(0) -_3: - if _i >= _argc { - goto _6 - } - _2_zData = (*int8)(unsafe.Pointer(bin.Xsqlite3_value_text(tls, (*bin.XMem)(*elem3(_argv, uintptr(_i)))))) - if _2_zData != nil { - _MD5Update(tls, _p, (*uint8)(unsafe.Pointer(_2_zData)), uint32(crt.Xstrlen(tls, _2_zData))) - } - _i += 1 - goto _3 -_6: -} - -// C comment -// /* -// * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious -// * initialization constants. -// */ -func _MD5Init(tls *crt.TLS, _ctx *XMD5Context) { - _ctx.XisInit = int32(1) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), 0) = uint32(1732584193) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(1)) = uint32(4023233417) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(2)) = uint32(2562383102) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(3)) = uint32(271733878) - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) = 0 - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) = 0 -} - -// C comment -// /* -// * Update context to reflect the concatenation of another buffer full -// * of bytes. -// */ -func _MD5Update(tls *crt.TLS, _ctx *XMD5Context, _buf *uint8, _len uint32) { - var _t uint32 - var _1_p *uint8 - _t = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) - if store5(elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0), _t+(_len<<3)) < _t { - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += 1 - } - *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += _len >> 29 - _t = (_t >> 3) & uint32(63) - if _t == 0 { - goto _1 - } - _1_p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_t))) - _t = uint32(64) - _t - if _len < _t { - crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), uint64(_len)) - return - } - crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), uint64(_t)) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - *(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(_t) - _len -= _t -_1: - if _len >= uint32(64) { - crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), uint64(64)) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - *(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(64)) - _len -= uint32(64) - goto _1 - } - crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), uint64(_len)) -} - -// C comment -// /* -// * Note: this code is harmless on little-endian machines. -// */ -func _byteReverse(tls *crt.TLS, _buf *uint8, _longs uint32) { - var _t uint32 -_0: - _t = (((uint32(*elem6(_buf, uintptr(3))) << 8) | uint32(*elem6(_buf, uintptr(2)))) << 16) | ((uint32(*elem6(_buf, uintptr(1))) << 8) | uint32(*elem6(_buf, 0))) - *(*uint32)(unsafe.Pointer(_buf)) = _t - *(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(4)) - if preInc5(&_longs, uint32(4294967295)) != 0 { - goto _0 - } -} - -// C comment -// /* -// * The core of the MD5 algorithm, this alters an existing MD5 hash to -// * reflect the addition of 16 longwords of new data. MD5Update blocks -// * the data and converts bytes into longwords for this routine. -// */ -func _MD5Transform(tls *crt.TLS, _buf *[4]uint32, _in *[16]uint32) { - var _a, _b, _c, _d uint32 - _a = *elem4((*uint32)(unsafe.Pointer(_buf)), 0) - _b = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1)) - _c = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2)) - _d = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3)) - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3614090360) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(3905402710) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(606105819) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3250441966) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4118548399) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(1200080426) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2821735955) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4249261313) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1770035416) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(2336552879) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4294925233) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(2304563134) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1804603682) - return &_a - }() = (_a << 7) | (_a >> 25) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(4254626195) - return &_d - }() = (_d << 12) | (_d >> 20) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2792965006) - return &_c - }() = (_c << 17) | (_c >> 15) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(1236535329) - return &_b - }() = (_b << 22) | (_b >> 10) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(4129170786) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(3225465664) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(643717713) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3921069994) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(3593408605) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(38016083) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(3634488961) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(3889429448) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(568446438) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(3275163606) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(4107603335) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1163531501) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(2850285829) - return &_a - }() = (_a << 5) | (_a >> 27) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(4243563512) - return &_d - }() = (_d << 9) | (_d >> 23) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1735328473) - return &_c - }() = (_c << 14) | (_c >> 18) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(2368359562) - return &_b - }() = (_b << 20) | (_b >> 12) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4294588738) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(2272392833) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(1839030562) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(4259657740) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2763975236) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(1272893353) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4139469664) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(3200236656) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(681279174) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3936430074) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3572445317) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(76029189) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3654602809) - return &_a - }() = (_a << 4) | (_a >> 28) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(3873151461) - return &_d - }() = (_d << 11) | (_d >> 21) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(530742520) - return &_c - }() = (_c << 16) | (_c >> 16) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(3299628645) - return &_b - }() = (_b << 23) | (_b >> 9) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(4096336452) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1126891415) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2878612391) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4237533241) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1700485571) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(2399980690) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4293915773) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2240044497) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1873313359) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(4264355552) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2734768916) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(1309151649) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *func() *uint32 { - *func() *uint32 { - _a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4149444226) - return &_a - }() = (_a << 6) | (_a >> 26) - return &_a - }() += _b - *func() *uint32 { - *func() *uint32 { - _d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(3174756917) - return &_d - }() = (_d << 10) | (_d >> 22) - return &_d - }() += _a - *func() *uint32 { - *func() *uint32 { - _c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(718787259) - return &_c - }() = (_c << 15) | (_c >> 17) - return &_c - }() += _d - *func() *uint32 { - *func() *uint32 { - _b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3951481745) - return &_b - }() = (_b << 21) | (_b >> 11) - return &_b - }() += _c - *elem4((*uint32)(unsafe.Pointer(_buf)), 0) += _a - *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1)) += _b - *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2)) += _c - *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3)) += _d -} - -func _md5finalize(tls *crt.TLS, _context unsafe.Pointer) { - var _zBuf [33]int8 - var _digest [16]uint8 - var _p *XMD5Context - _p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92))) - _MD5Final(tls, (*[16]uint8)(unsafe.Pointer((*uint8)(unsafe.Pointer(&_digest)))), _p) - _MD5DigestToBase16(tls, (*uint8)(unsafe.Pointer(&_digest)), (*int8)(unsafe.Pointer(&_zBuf))) - bin.Xsqlite3_result_text(tls, (*bin.Xsqlite3_context)(_context), (*int8)(unsafe.Pointer(&_zBuf)), int32(-1), func() func(*crt.TLS, unsafe.Pointer) { - v := uint64(18446744073709551615) - return *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&v)) - }()) - _ = _digest - _ = _zBuf -} - -// C comment -// /* -// * Final wrapup - pad to 64-byte boundary with the bit pattern -// * 1 0* (64-bit count of bits processed, MSB-first) -// */ -func _MD5Final(tls *crt.TLS, _digest *[16]uint8, _ctx *XMD5Context) { - var _count uint32 - var _p *uint8 - _count = ((*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)) >> 3) & uint32(63) - _p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_count))) - *postInc6(&_p, 1) = uint8(128) - _count = uint32(63) - _count - if _count < uint32(8) { - crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), uint64(_count)) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - crt.Xmemset(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), int32(0), uint64(56)) - goto _1 - } - crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), uint64(_count-uint32(8))) -_1: - _byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(14)) - *elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(14)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) - *elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(15)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) - _MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))))))))) - _byteReverse(tls, (*uint8)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), uint32(4)) - crt.Xmemcpy(tls, unsafe.Pointer(_digest), unsafe.Pointer(&_ctx.Xbuf), uint64(16)) - crt.Xmemset(tls, unsafe.Pointer(_ctx), int32(0), uint64(92)) -} - -// C comment -// /* -// ** Convert a 128-bit MD5 digest into a 32-digit base-16 number. -// */ -func _MD5DigestToBase16(tls *crt.TLS, _digest *uint8, _zBuf *int8) { - var _i, _j, _1_a int32 - _j = store7(&_i, int32(0)) -_0: - if _i >= int32(16) { - goto _3 - } - _1_a = int32(*elem6(_digest, uintptr(_i))) - *elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr((_1_a>>4)&int32(15))) - *elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr(_1_a&int32(15))) - _i += 1 - goto _0 -_3: - *elem2(_zBuf, uintptr(_j)) = 0 -} - -var _MD5DigestToBase16Ø00zEncodeØ001 [17]int8 - -func init() { - crt.Xstrncpy(nil, &_MD5DigestToBase16Ø00zEncodeØ001[0], str(620), 17) -} - -func _busyhandler(tls *crt.TLS, _pArg unsafe.Pointer, _n int32) (r0 int32) { - crt.Xusleep(tls, uint32(10000)) - return int32(1) -} - -func _sql_script_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) { - if _pErr.Xrc == int32(0) { - _pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, nil, nil, &_pErr.XzErr) - } -} - -func _closedb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _rc, _i int32 - var _pIter, _pNext *XStatement - _pIter = (*XStatement)(_pDb.XpCache) -_0: - if _pIter == nil { - goto _3 - } - _pNext = (*XStatement)(_pIter.XpNext) - bin.Xsqlite3_finalize(tls, _pIter.XpStmt) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pIter)) - _pIter = _pNext - goto _0 -_3: - _i = int32(0) -_4: - if _i >= _pDb.XnText { - goto _7 - } - bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_i)))) - _i += 1 - goto _4 -_7: - bin.Xsqlite3_free(tls, unsafe.Pointer(_pDb.XaText)) - _rc = bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb)) - if _rc != 0 && (_pErr.Xrc == int32(0)) { - _pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_errmsg(tls, (*bin.Xsqlite3)(_pDb.Xdb)))) - } - crt.Xmemset(tls, unsafe.Pointer(_pDb), int32(0), uint64(32)) -} - -func _setstoptime_x(tls *crt.TLS, _pErr *XError, _nMs int32) { - var _1_t float64 - if _pErr.Xrc == int32(0) { - _1_t = _currentTime(tls) - _timelimit = _1_t + (float64(_nMs) / (8.64e+07)) - bug20530(_timelimit) - } -} - -func _currentTime(tls *crt.TLS) (r0 float64) { - var _1_tm int64 - var _t float64 - if _currentTimeØ00pTimelimitVfsØ001 == nil { - _currentTimeØ00pTimelimitVfsØ001 = bin.Xsqlite3_vfs_find(tls, nil) - bug20530(_currentTimeØ00pTimelimitVfsØ001) - } - if (_currentTimeØ00pTimelimitVfsØ001.XiVersion >= int32(2)) && (func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 { - v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64 - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v)) - }() != nil) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 { - v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64 - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _currentTimeØ00pTimelimitVfsØ001, &_1_tm) - _t = float64(_1_tm) / (8.64e+07) - goto _3 - } - func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 { - v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTime - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v)) - }()(tls, _currentTimeØ00pTimelimitVfsØ001, &_t) -_3: - return _t -} - -var _currentTimeØ00pTimelimitVfsØ001 *bin.Xsqlite3_vfs - -// C comment -// /* -// ** Used by setstoptime() and timetostop(). -// */ -var _timelimit float64 - -func _launch_thread_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _xProc func(*crt.TLS, int32, unsafe.Pointer) *int8, _pArg unsafe.Pointer) { - var _1_iTid, _1_rc int32 - var _1_p *XThread - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_iTid = preInc7(&_pThreads.XiMaxTid, 1) - _1_p = (*XThread)(bin.Xsqlite3_malloc(tls, int32(40))) - crt.Xmemset(tls, unsafe.Pointer(_1_p), int32(0), uint64(40)) - _1_p.XiTid = _1_iTid - _1_p.XpArg = _pArg - _1_p.XxProc = _xProc - _1_rc = crt.Xpthread_create(tls, &_1_p.Xtid, nil, _launch_thread_main, unsafe.Pointer(_1_p)) - if _1_rc != int32(0) { - _system_error(tls, _pErr, _1_rc) - bin.Xsqlite3_free(tls, unsafe.Pointer(_1_p)) - goto _2 - } - *(**XThread)(unsafe.Pointer(&_1_p.XpNext)) = (*XThread)(_pThreads.XpThread) - *(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = _1_p -_2: -_0: -} - -func _launch_thread_main(tls *crt.TLS, _pArg unsafe.Pointer) (r0 unsafe.Pointer) { - var _p *XThread - _p = (*XThread)(_pArg) - return unsafe.Pointer(_p.XxProc(tls, _p.XiTid, _p.XpArg)) -} - -func _system_error(tls *crt.TLS, _pErr *XError, _iSys int32) { - _pErr.Xrc = _iSys - _pErr.XzErr = (*int8)(bin.Xsqlite3_malloc(tls, int32(512))) - crt.Xstrerror_r(tls, _iSys, _pErr.XzErr, uint64(512)) - *elem2(_pErr.XzErr, uintptr(511)) = 0 -} - -func _walthread1_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nIter int32 - var _1_z1, _1_z2, _1_z3 *int8 - var _1_azSql [2]*int8 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _nIter = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(929) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(930) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_azSql = [2]*int8{} - *elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0) = str(640) - *elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1)) = str(708) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(937) - }() - return &_err - }(), &_db, unsafe.Pointer(str(767))) - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(938) - }() - return &_err - }(), &_db) - _1_z1 = _execsql_text_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(939) - }() - return &_err - }(), &_db, int32(1), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0))) - _1_z2 = _execsql_text_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(940) - }() - return &_err - }(), &_db, int32(2), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1)))) - _1_z3 = _execsql_text_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(941) - }() - return &_err - }(), &_db, int32(3), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0))) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(942) - }() - return &_err - }(), &_db, unsafe.Pointer(str(773))) - if crt.Xstrcmp(tls, _1_z1, _1_z2) != 0 || crt.Xstrcmp(tls, _1_z1, _1_z3) != 0 { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(780), unsafe.Pointer(_1_z1), unsafe.Pointer(_1_z2), unsafe.Pointer(_1_z3))) - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(948) - }() - return &_err - }(), &_db, str(802)) - _nIter += 1 - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(957) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(934), _nIter) - - _ = _1_azSql - panic(0) -} - -func _timetostop_x(tls *crt.TLS, _pErr *XError) (r0 int32) { - var _ret int32 - var _1_t float64 - _ret = int32(1) - if _pErr.Xrc == int32(0) { - _1_t = _currentTime(tls) - _ret = bool2int(_1_t >= _timelimit) - } - return _ret -} - -func _execsql_i64_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, args ...interface{}) (r0 int64) { - var _2_first int32 - var _iRet int64 - var _1_pStmt unsafe.Pointer - var _1_ap []interface{} - _iRet = int64(0) - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_ap = args - _1_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _1_ap) - if _1_pStmt == nil { - goto _1 - } - _2_first = int32(1) -_2: - if int32(100) != bin.Xsqlite3_step(tls, _1_pStmt) { - goto _3 - } - if _2_first != 0 && (bin.Xsqlite3_column_count(tls, _1_pStmt) > int32(0)) { - _iRet = bin.Xsqlite3_column_int64(tls, _1_pStmt, int32(0)) - } - _2_first = int32(0) - goto _2 -_3: - if int32(0) != bin.Xsqlite3_reset(tls, _1_pStmt) { - _sqlite_error(tls, _pErr, _pDb, str(948)) - } -_1: - _1_ap = nil -_0: - return _iRet -} - -func _getAndBindSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _ap []interface{}) (r0 unsafe.Pointer) { - var _i int32 - var _1_zName *int8 - var _pStmt, _1_pArg unsafe.Pointer - var _pStatement *XStatement - _pStatement = _getSqlStatement(tls, _pErr, _pDb, (*int8)(crt.VAPointer(&_ap))) - if _pStatement == nil { - return nil - } - _pStmt = _pStatement.XpStmt - _i = int32(1) -_1: - if _i > bin.Xsqlite3_bind_parameter_count(tls, _pStmt) { - goto _4 - } - _1_zName = bin.Xsqlite3_bind_parameter_name(tls, _pStmt, _i) - _1_pArg = crt.VAPointer(&_ap) - switch int32(*elem2(_1_zName, uintptr(1))) { - case int32(105): - goto _6 - default: - goto _7 - } - -_6: - bin.Xsqlite3_bind_int64(tls, _pStmt, _i, *(*int64)(_1_pArg)) - goto _8 -_7: - _pErr.Xrc = int32(1) - _pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(954), unsafe.Pointer(_1_zName)) - _pStmt = nil - goto _8 -_8: - _i += 1 - goto _1 -_4: - return _pStmt -} - -func _getSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) (r0 *XStatement) { - var _rc int32 - var _pRet *XStatement - _pRet = (*XStatement)(_pDb.XpCache) -_0: - if _pRet == nil { - goto _3 - } - if int32(0) == crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) { - return _pRet - } - _pRet = (*XStatement)(_pRet.XpNext) - goto _0 -_3: - _pRet = (*XStatement)(bin.Xsqlite3_malloc(tls, int32(16))) - _rc = bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, int32(-1), &_pRet.XpStmt, nil) - if _rc != int32(0) { - _sqlite_error(tls, _pErr, _pDb, str(980)) - return nil - } - func() { - if int32(0) != crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(1027)), int32(614), unsafe.Pointer(&_getSqlStatementØ00__func__Ø000), unsafe.Pointer(str(1085))) - crt.X__builtin_abort(tls) - } - }() - *(**XStatement)(unsafe.Pointer(&_pRet.XpNext)) = (*XStatement)(_pDb.XpCache) - *(**XStatement)(unsafe.Pointer(&_pDb.XpCache)) = _pRet - return _pRet -} - -var _getSqlStatementØ00__func__Ø000 [16]int8 - -func init() { - crt.Xstrncpy(nil, &_getSqlStatementØ00__func__Ø000[0], str(1127), 16) -} - -func _integrity_check_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _1_zErr, _3_z *int8 - var _2_pStmt unsafe.Pointer - var _1_pStatement *XStatement - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_zErr = nil - _1_pStatement = _getSqlStatement(tls, _pErr, _pDb, str(1143)) - if _1_pStatement == nil { - goto _1 - } - _2_pStmt = _1_pStatement.XpStmt -_2: - if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) { - goto _3 - } - _3_z = (*int8)(unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0)))) - if crt.Xstrcmp(tls, _3_z, str(1166)) == 0 { - goto _4 - } - if _1_zErr == nil { - _1_zErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(_3_z)) - goto _6 - } - _1_zErr = bin.Xsqlite3_mprintf(tls, str(1169), unsafe.Pointer(_1_zErr), unsafe.Pointer(_3_z)) -_6: -_4: - goto _2 -_3: - bin.Xsqlite3_reset(tls, _2_pStmt) - if _1_zErr != nil { - _pErr.XzErr = _1_zErr - _pErr.Xrc = int32(1) - } -_1: -_0: -} - -func _execsql_text_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _iSlot int32, args ...interface{}) (r0 *int8) { - var _1_nByte, _3_first int32 - var _zRet *int8 - var _2_pStmt unsafe.Pointer - var _2_ap []interface{} - _zRet = nil - if _iSlot >= _pDb.XnText { - _1_nByte = int32(uint64(8) * uint64(_iSlot+int32(1))) - _pDb.XaText = (**int8)(bin.Xsqlite3_realloc(tls, unsafe.Pointer(_pDb.XaText), _1_nByte)) - crt.Xmemset(tls, unsafe.Pointer(elem1(_pDb.XaText, uintptr(_pDb.XnText))), int32(0), uint64(8)*uint64((_iSlot+int32(1))-_pDb.XnText)) - _pDb.XnText = _iSlot + int32(1) - } - if _pErr.Xrc != int32(0) { - goto _1 - } - _2_ap = args - _2_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _2_ap) - if _2_pStmt == nil { - goto _2 - } - _3_first = int32(1) -_3: - if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) { - goto _4 - } - if _3_first != 0 && (bin.Xsqlite3_column_count(tls, _2_pStmt) > int32(0)) { - _zRet = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0)))) - bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_iSlot)))) - *elem1(_pDb.XaText, uintptr(_iSlot)) = _zRet - } - _3_first = int32(0) - goto _3 -_4: - if int32(0) != bin.Xsqlite3_reset(tls, _2_pStmt) { - _sqlite_error(tls, _pErr, _pDb, str(948)) - } -_2: - _2_ap = nil -_1: - return _zRet -} - -func _test_error_x(tls *crt.TLS, _pErr *XError, _zErr *int8) { - if _pErr.Xrc == int32(0) { - _pErr.Xrc = int32(1) - _pErr.XzErr = _zErr - goto _1 - } - bin.Xsqlite3_free(tls, unsafe.Pointer(_zErr)) -_1: -} - -func _print_and_free_err(tls *crt.TLS, _p *XError) { - _print_err(tls, _p) - _free_err(tls, _p) -} - -func _print_err(tls *crt.TLS, _p *XError) { - var _1_isWarn int32 - if _p.Xrc == int32(0) { - goto _0 - } - _1_isWarn = int32(0) - if _p.Xrc == int32(17) { - _1_isWarn = int32(1) - } - if bin.Xsqlite3_strglob(tls, str(1175), _p.XzErr) == int32(0) { - _1_isWarn = int32(1) - } - crt.Xprintf(tls, str(1196), unsafe.Pointer(func() *int8 { - if _1_isWarn != 0 { - return str(1222) - } - return str(1230) - }()), _p.Xrc, unsafe.Pointer(_p.XzErr), _p.XiLine) - if _1_isWarn == 0 { - _nGlobalErr += 1 - } - crt.Xfflush(tls, (*crt.XFILE)(Xstdout)) -_0: -} - -// C comment -// /* Total number of errors in this process so far. */ -var _nGlobalErr int32 - -func _free_err(tls *crt.TLS, _p *XError) { - bin.Xsqlite3_free(tls, unsafe.Pointer(_p.XzErr)) - _p.XzErr = nil - _p.Xrc = int32(0) -} - -func _walthread1_ckpt_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nCkpt int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _nCkpt = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(968) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(969) - }() - return &_err - }()) != 0 { - goto _3 - } - crt.Xusleep(tls, uint32(500000)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(971) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1236))) - if _err.Xrc == int32(0) { - _nCkpt += 1 - } - _clear_error_x(tls, &_err, int32(5)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(975) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1258), _nCkpt) -} - -func _clear_error_x(tls *crt.TLS, _pErr *XError, _rc int32) { - if _pErr.Xrc == _rc { - _pErr.Xrc = int32(0) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pErr.XzErr)) - _pErr.XzErr = nil - } -} - -func _join_all_threads_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset) { - var _1_rc int32 - var _1_ret unsafe.Pointer - var _p, _pNext *XThread - _p = (*XThread)(_pThreads.XpThread) -_0: - if _p == nil { - goto _3 - } - _pNext = (*XThread)(_p.XpNext) - _1_rc = crt.Xpthread_join(tls, _p.Xtid, &_1_ret) - if _1_rc == int32(0) { - goto _4 - } - if _pErr.Xrc == int32(0) { - _system_error(tls, _pErr, _1_rc) - } - goto _6 -_4: - crt.Xprintf(tls, str(1273), _p.XiTid, unsafe.Pointer(func() *int8 { - if _1_ret == nil { - return str(1293) - } - return (*int8)(_1_ret) - }())) - crt.Xfflush(tls, (*crt.XFILE)(Xstdout)) -_6: - bin.Xsqlite3_free(tls, unsafe.Pointer(_p)) - _p = _pNext - goto _0 -_3: - *(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = nil -} - -func _walthread2(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1050) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1051) - }() - return &_err - }(), &_db, str(1297)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1052) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1054) - }() - return &_err - }(), _nMs) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1055) - }() - return &_err - }(), &_threads, _walthread2_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1056) - }() - return &_err - }(), &_threads, _walthread2_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1057) - }() - return &_err - }(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1)))) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1058) - }() - return &_err - }(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1)))) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1059) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _walthread2_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iArg, _2_journal_exists, _2_wal_exists int32 - var _zJournal *int8 - var _anTrans [2]int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _anTrans = [2]int32{} - _iArg = int32(int64(crt.P2U(_pArg))) - _zJournal = str(1346) - if _iArg != 0 { - _zJournal = str(1372) - } -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1016) - }() - return &_err - }()) != 0 { - goto _2 - } - _2_journal_exists = int32(0) - _2_wal_exists = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1020) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1022) - }() - return &_err - }(), &_db, _zJournal) - _clear_error_x(tls, &_err, int32(5)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1024) - }() - return &_err - }(), &_db, str(767)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1025) - }() - return &_err - }(), &_db, str(1401)) - _2_journal_exists = bool2int(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1027) - }() - return &_err - }(), str(1446)) >= (0)) - _2_wal_exists = bool2int(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1028) - }() - return &_err - }(), str(1462)) >= (0)) - if (_2_journal_exists + _2_wal_exists) != int32(1) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(1474), _2_journal_exists, _2_wal_exists)) - } - *elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(_2_journal_exists)) += 1 - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1036) - }() - return &_err - }(), &_db, str(773)) - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1037) - }() - return &_err - }(), &_db) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1038) - }() - return &_err - }(), &_db) - goto _0 -_2: - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1511), *elem8((*int32)(unsafe.Pointer(&_anTrans)), 0), *elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(1))) - - _ = _anTrans - panic(0) -} - -func _filesize_x(tls *crt.TLS, _pErr *XError, _zFile *int8) (r0 int64) { - var _iRet int64 - var _1_sStat crt.Xstruct_stat64 - _iRet = int64(0) - if _pErr.Xrc != int32(0) { - goto _0 - } - if crt.Xstat64(tls, _zFile, &_1_sStat) != 0 { - _iRet = int64(-1) - goto _2 - } - _iRet = _1_sStat.Xst_size -_2: -_0: - return _iRet -} - -func _walthread3(tls *crt.TLS, _nMs int32) { - var _i int32 - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1107) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1108) - }() - return &_err - }(), &_db, str(1521)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1115) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1117) - }() - return &_err - }(), _nMs) - _i = int32(0) -_8: - if _i >= int32(6) { - goto _11 - } - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1119) - }() - return &_err - }(), &_threads, _walthread3_thread, crt.U2P(uintptr(int64(_i)))) - _i += 1 - goto _8 -_11: - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1121) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _walthread3_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iArg, _1_stop int32 - var _iNextWrite, _1_sum1, _1_sum2, _2_iMax int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iArg = int32(int64(crt.P2U(_pArg))) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1070) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1071) - }() - return &_err - }(), &_db, str(1680)) - _iNextWrite = int64(_iArg + int32(1)) -_4: - _1_stop = int32(0) -_6: - if int32(0) != store7(&_1_stop, _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1079) - }() - return &_err - }())) { - goto _7 - } - _2_iMax = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1080) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1711))) - if (_2_iMax + int64(1)) == _iNextWrite { - goto _7 - } - goto _6 -_7: - if _1_stop != 0 { - goto _5 - } - _1_sum1 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1085) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1735))) - _1_sum2 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1086) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1759))) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1087) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1784)), unsafe.Pointer(&_iNextWrite), unsafe.Pointer(&_1_sum1), unsafe.Pointer(&_1_sum2)) - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1091) - }() - return &_err - }(), &_db) - _iNextWrite += int64(6) - goto _4 -_5: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1096) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _walthread4(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1165) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1166) - }() - return &_err - }(), &_db, str(1835)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1170) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1172) - }() - return &_err - }(), _nMs) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1173) - }() - return &_err - }(), &_threads, _walthread4_reader_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1174) - }() - return &_err - }(), &_threads, _walthread4_writer_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1175) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _walthread4_reader_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1130) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1131) - }() - return &_err - }()) == 0 { - _integrity_check_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1132) - }() - return &_err - }(), &_db) - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1134) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _walthread4_writer_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iRow int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iRow = int64(1) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1145) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1146) - }() - return &_err - }(), &_db, str(1911)) -_4: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1147) - }() - return &_err - }()) != 0 { - goto _5 - } - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1148) - }() - return &_err - }(), &_db, unsafe.Pointer(str(1943)), unsafe.Pointer(&_iRow)) - _iRow += 1 - if _iRow == int64(10) { - _iRow = 0 - } - goto _4 -_5: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1154) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _walthread5(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1198) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1199) - }() - return &_err - }(), &_db, str(1990)) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1224) - }() - return &_err - }(), str(378), str(3150)) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1225) - }() - return &_err - }(), str(1462), str(3161)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1226) - }() - return &_err - }(), &_db) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1228) - }() - return &_err - }(), str(3150), str(378)) - _filecopy_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1229) - }() - return &_err - }(), str(3161), str(1462)) - if _err.Xrc == int32(0) { - crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1232) - }() - return &_err - }(), str(1462)))) - crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1233) - }() - return &_err - }(), str(378)))) - } - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1236) - }() - return &_err - }(), _nMs) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1237) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1238) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1239) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1240) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1241) - }() - return &_err - }(), &_threads, _walthread5_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1242) - }() - return &_err - }(), &_threads) - if _err.Xrc == int32(0) { - crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1245) - }() - return &_err - }(), str(1462)))) - crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1246) - }() - return &_err - }(), str(378)))) - } - _print_and_free_err(tls, &_err) -} - -func _filecopy_x(tls *crt.TLS, _pErr *XError, _zFrom *int8, _zTo *int8) { - var _3_fd1, _3_fd2, _6_nCopy int32 - var _1_nByte, _3_iOff int64 - var _3_aBuf [1024]int8 - if _pErr.Xrc != int32(0) { - goto _0 - } - _1_nByte = _filesize_x(tls, _pErr, _zFrom) - if _1_nByte < (0) { - _test_error_x(tls, _pErr, bin.Xsqlite3_mprintf(tls, str(3217), unsafe.Pointer(_zFrom))) - goto _2 - } - crt.Xunlink(tls, _zTo) - _3_fd1 = crt.Xopen64(tls, _zFrom, int32(0)) - if _3_fd1 < int32(0) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - return - } - _3_fd2 = crt.Xopen64(tls, _zTo, int32(194), int32(420)) - if _3_fd2 < int32(0) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - crt.Xclose(tls, _3_fd1) - return - } - _3_iOff = 0 -_5: - if _3_iOff >= _1_nByte { - goto _6 - } - _6_nCopy = int32(1024) - if (int64(_6_nCopy) + _3_iOff) > _1_nByte { - _6_nCopy = int32(_1_nByte - _3_iOff) - } - if int64(_6_nCopy) != crt.Xread(tls, _3_fd1, unsafe.Pointer(&_3_aBuf), uint64(_6_nCopy)) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - goto _6 - } - if int64(_6_nCopy) != crt.Xwrite(tls, _3_fd2, unsafe.Pointer(&_3_aBuf), uint64(_6_nCopy)) { - _system_error(tls, _pErr, *crt.X__errno_location(tls)) - goto _6 - } - _3_iOff += int64(_6_nCopy) - goto _5 -_6: - crt.Xclose(tls, _3_fd1) - crt.Xclose(tls, _3_fd2) -_2: -_0: - _ = _3_aBuf -} - -func _walthread5_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nRow int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1185) - }() - return &_err - }(), &_db, str(378), int32(0)) - _nRow = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1186) - }() - return &_err - }(), &_db, unsafe.Pointer(str(3234))) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1187) - }() - return &_err - }(), &_db) - if _nRow != int64(65536) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(3258), int32(_nRow))) - } - _print_and_free_err(tls, &_err) - return nil -} - -func _cgt_pager_1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _xSub func(*crt.TLS, *XError, *XSqlite) - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1289) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1290) - }() - return &_err - }(), &_db, str(3276)) - _xSub = _cgt_pager_1_populate - _xSub(tls, &_err, &_db) - _xSub = _cgt_pager_1_update - _xSub(tls, &_err, &_db) - _xSub = _cgt_pager_1_read - _xSub(tls, &_err, &_db) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1300) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) -} - -func _cgt_pager_1_populate(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _iRow, _1_iBlob int64 - var _zInsert *int8 - _zInsert = str(3373) - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1259) - }() - return _pErr - }(), _pDb, str(767)) - _iRow = int64(1) -_2: - if _iRow > int64(10000) { - goto _5 - } - _1_iBlob = int64(600) + (_iRow % int64(300)) - _execsql_i64_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1262) - }() - return _pErr - }(), _pDb, unsafe.Pointer(_zInsert), unsafe.Pointer(&_iRow), unsafe.Pointer(&_1_iBlob)) - _iRow += 1 - goto _2 -_5: - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1264) - }() - return _pErr - }(), _pDb, str(773)) -} - -func _cgt_pager_1_update(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _iRow, _1_iBlob int64 - var _zUpdate *int8 - _zUpdate = str(3420) - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1269) - }() - return _pErr - }(), _pDb, str(767)) - _iRow = int64(1) -_2: - if _iRow > int64(10000) { - goto _5 - } - _1_iBlob = int64(600) + ((_iRow + int64(100)) % int64(300)) - _execsql_i64_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1272) - }() - return _pErr - }(), _pDb, unsafe.Pointer(_zUpdate), unsafe.Pointer(&_1_iBlob), unsafe.Pointer(&_iRow)) - _iRow += 1 - goto _2 -_5: - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1274) - }() - return _pErr - }(), _pDb, str(773)) -} - -func _cgt_pager_1_read(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) { - var _iRow int64 - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1278) - }() - return _pErr - }(), _pDb, str(767)) - _iRow = int64(1) -_2: - if _iRow > int64(10000) { - goto _5 - } - _execsql_i64_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1280) - }() - return _pErr - }(), _pDb, unsafe.Pointer(str(3471)), unsafe.Pointer(&_iRow)) - _iRow += 1 - goto _2 -_5: - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(1282) - }() - return _pErr - }(), _pDb, str(773)) -} - -func _dynamic_triggers(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1396) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1397) - }() - return &_err - }(), &_db, str(3504)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1410) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1412) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1415) - }() - return &_err - }(), &_threads, _dynamic_triggers_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1416) - }() - return &_err - }(), &_threads, _dynamic_triggers_2, nil) - crt.Xsleep(tls, uint32(2)) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1421) - }() - return &_err - }(), &_threads, _dynamic_triggers_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1422) - }() - return &_err - }(), &_threads, _dynamic_triggers_1, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1424) - }() - return &_err - }(), &_threads) - _print_and_free_err(tls, &_err) -} - -func _dynamic_triggers_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nInsert, _nDelete int32 - var _iVal int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iVal = int64(0) - _nInsert = int32(0) - _nDelete = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1371) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1372) - }() - return &_err - }()) != 0 { - goto _3 - } -_6: - _iVal = (_iVal + int64(1)) % int64(100) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1375) - }() - return &_err - }(), &_db, unsafe.Pointer(str(3753)), unsafe.Pointer(&_iVal), unsafe.Pointer(&_iVal)) - _nInsert += 1 - if _iVal != 0 { - goto _6 - } -_9: - _iVal = (_iVal + int64(1)) % int64(100) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1381) - }() - return &_err - }(), &_db, unsafe.Pointer(str(3787)), unsafe.Pointer(&_iVal)) - _nDelete += 1 - if _iVal != 0 { - goto _9 - } - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1385) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(3816), _nInsert, _nDelete) -} - -func _dynamic_triggers_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _nDrop, _nCreate, _1_i int32 - var _2_zSql, _3_zSql, _4_zSql, _5_zSql *int8 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _nDrop = int32(0) - _nCreate = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1318) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1319) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_i = int32(1) -_6: - if _1_i >= int32(9) { - goto _9 - } - _2_zSql = bin.Xsqlite3_mprintf(tls, str(3839), _1_i, _1_i, _1_i+int32(1)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1328) - }() - return &_err - }(), &_db, unsafe.Pointer(_2_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_2_zSql)) - _nCreate += 1 - _1_i += 1 - goto _6 -_9: - _1_i = int32(1) -_12: - if _1_i >= int32(9) { - goto _15 - } - _3_zSql = bin.Xsqlite3_mprintf(tls, str(3929), _1_i, _1_i, _1_i+int32(1)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1339) - }() - return &_err - }(), &_db, unsafe.Pointer(_3_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_3_zSql)) - _nCreate += 1 - _1_i += 1 - goto _12 -_15: - _1_i = int32(1) -_18: - if _1_i >= int32(9) { - goto _21 - } - _4_zSql = bin.Xsqlite3_mprintf(tls, str(4015), _1_i) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1346) - }() - return &_err - }(), &_db, unsafe.Pointer(_4_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_4_zSql)) - _nDrop += 1 - _1_i += 1 - goto _18 -_21: - _1_i = int32(1) -_24: - if _1_i >= int32(9) { - goto _27 - } - _5_zSql = bin.Xsqlite3_mprintf(tls, str(4034), _1_i) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1353) - }() - return &_err - }(), &_db, unsafe.Pointer(_5_zSql)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_5_zSql)) - _nDrop += 1 - _1_i += 1 - goto _24 -_27: - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(1358) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(4053), _nCreate, _nDrop) -} - -func _checkpoint_starvation_1(tls *crt.TLS, _nMs int32) { - var _err XError - var _ctx XCheckpointStarvationCtx - _err = XError{} - _ctx = XCheckpointStarvationCtx{} - _checkpoint_starvation_main(tls, _nMs, &_ctx) - if _ctx.XnMaxFrame < int32(500) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4076), _ctx.XnMaxFrame)) - } - _print_and_free_err(tls, &_err) -} - -func _checkpoint_starvation_main(tls *crt.TLS, _nMs int32, _p *XCheckpointStarvationCtx) { - var _nInsert, _i int32 - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _nInsert = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(99) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(100) - }() - return &_err - }(), &_db, str(4107)) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(106) - }() - return &_err - }(), _nMs) - _i = int32(0) -_6: - if _i >= int32(4) { - goto _9 - } - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(109) - }() - return &_err - }(), &_threads, _checkpoint_starvation_reader, nil) - crt.Xusleep(tls, uint32(25000)) - _i += 1 - goto _6 -_9: - bin.Xsqlite3_wal_hook(tls, (*bin.Xsqlite3)(_db.Xdb), func() func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32 { - v := _checkpoint_starvation_walhook - return *(*func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&v)) - }(), unsafe.Pointer(_p)) -_12: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(114) - }() - return &_err - }()) == 0 { - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(115) - }() - return &_err - }(), &_db, str(4177)) - _nInsert += 1 - goto _12 - } - crt.Xprintf(tls, str(4217), unsafe.Pointer(func() *int8 { - if _p.XeMode == int32(0) { - return str(4241) - } - return str(4249) - }())) - crt.Xprintf(tls, str(4257), _p.XnMaxFrame) - crt.Xprintf(tls, str(4288), _nInsert) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(125) - }() - return &_err - }(), &_threads) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(126) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) -} - -func _checkpoint_starvation_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _1_iCount1, _1_iCount2 int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(73) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(74) - }() - return &_err - }()) != 0 { - goto _3 - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(76) - }() - return &_err - }(), &_db, str(767)) - _1_iCount1 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(77) - }() - return &_err - }(), &_db, unsafe.Pointer(str(4325))) - crt.Xusleep(tls, uint32(100000)) - _1_iCount2 = _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(79) - }() - return &_err - }(), &_db, unsafe.Pointer(str(4325))) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(80) - }() - return &_err - }(), &_db, str(773)) - if _1_iCount1 != _1_iCount2 { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4349), _1_iCount1, _1_iCount2)) - } - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(86) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return nil -} - -func _checkpoint_starvation_walhook(tls *crt.TLS, _pCtx unsafe.Pointer, _db unsafe.Pointer, _zDb *int8, _nFrame int32) (r0 int32) { - var _p *XCheckpointStarvationCtx - _p = (*XCheckpointStarvationCtx)(_pCtx) - if _nFrame > _p.XnMaxFrame { - _p.XnMaxFrame = _nFrame - } - if _nFrame >= int32(50) { - bin.Xsqlite3_wal_checkpoint_v2(tls, (*bin.Xsqlite3)(_db), _zDb, _p.XeMode, nil, nil) - } - return int32(0) -} - -func _checkpoint_starvation_2(tls *crt.TLS, _nMs int32) { - var _err XError - var _ctx XCheckpointStarvationCtx - _err = XError{} - _ctx = XCheckpointStarvationCtx{XeMode: int32(2)} - _checkpoint_starvation_main(tls, _nMs, &_ctx) - if _ctx.XnMaxFrame > int32(60) { - _test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4379), _ctx.XnMaxFrame)) - } - _print_and_free_err(tls, &_err) -} - -func _create_drop_index_1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(54) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(55) - }() - return &_err - }(), &_db, str(4410)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(60) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(62) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(65) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(66) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(67) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(68) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(69) - }() - return &_err - }(), &_threads, _create_drop_index_thread, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(71) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -func _create_drop_index_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(21) - }() - return &_err - }()) == 0 { - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(22) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(24) - }() - return &_err - }(), &_db, str(4551)) - _clear_error_x(tls, &_err, int32(6)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(42) - }() - return &_err - }(), &_db) - goto _0 - } - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _lookaside1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(71) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(72) - }() - return &_err - }(), &_db, str(4924)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(85) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(87) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(90) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(91) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(92) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(93) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(94) - }() - return &_err - }(), &_threads, _lookaside1_thread_reader, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(95) - }() - return &_err - }(), &_threads, _lookaside1_thread_writer, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(96) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -func _lookaside1_thread_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _1_rc int32 - var _1_pStmt unsafe.Pointer - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(25) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(27) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_pStmt = nil - bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_db.Xdb), str(5276), int32(-1), &_1_pStmt, nil) -_6: - if bin.Xsqlite3_step(tls, _1_pStmt) == int32(100) { - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(33) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5293))) - goto _6 - } - _1_rc = bin.Xsqlite3_finalize(tls, _1_pStmt) - if (_err.Xrc == int32(0)) && (_1_rc != int32(0)) { - _sqlite_error(tls, &_err, &_db, str(5324)) - } - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(41) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _lookaside1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(50) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(53) - }() - return &_err - }(), &_db, str(5333)) - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(58) - }() - return &_err - }()) == 0 { - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(60) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _vacuum1(tls *crt.TLS, _nMs int32) { - var _err XError - var _db XSqlite - var _threads XThreadset - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(72) - }() - return &_err - }(), &_db, str(378), int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(73) - }() - return &_err - }(), &_db, str(5379)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(77) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(79) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(82) - }() - return &_err - }(), &_threads, _vacuum1_thread_writer, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(83) - }() - return &_err - }(), &_threads, _vacuum1_thread_writer, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(84) - }() - return &_err - }(), &_threads, _vacuum1_thread_writer, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(85) - }() - return &_err - }(), &_threads, _vacuum1_thread_vacuumer, nil) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(86) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -func _vacuum1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(26) - }() - return &_err - }(), &_db, str(378), int32(0)) - _i = int64(0) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(29) - }() - return &_err - }()) == 0 { - _i += 1 - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(33) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5444))) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(39) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5579)), unsafe.Pointer(&_i)) - _clear_error_x(tls, &_err, int32(6)) - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(43) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5611))) - _clear_error_x(tls, &_err, int32(6)) - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(47) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _vacuum1_thread_vacuumer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(55) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(58) - }() - return &_err - }(), &_db, str(5639)) - _clear_error_x(tls, &_err, int32(6)) - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(60) - }() - return &_err - }()) == 0 { - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(62) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -func _stress1(tls *crt.TLS, _nMs int32) { - var _err XError - var _threads XThreadset - _err = XError{} - _threads = XThreadset{} - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(138) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(141) - }() - return &_err - }(), &_threads, _stress_thread_1, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(142) - }() - return &_err - }(), &_threads, _stress_thread_1, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(144) - }() - return &_err - }(), &_threads, _stress_thread_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(145) - }() - return &_err - }(), &_threads, _stress_thread_2, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(147) - }() - return &_err - }(), &_threads, _stress_thread_3, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(148) - }() - return &_err - }(), &_threads, _stress_thread_3, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(150) - }() - return &_err - }(), &_threads, _stress_thread_4, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(151) - }() - return &_err - }(), &_threads, _stress_thread_4, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(153) - }() - return &_err - }(), &_threads, _stress_thread_5, nil) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(154) - }() - return &_err - }(), &_threads, _stress_thread_5, crt.U2P(uintptr(uint32(1)))) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(156) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) -} - -// C comment -// /* -// ** Thread 1. CREATE and DROP a table. -// */ -func _stress_thread_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(24) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(25) - }() - return &_err - }()) == 0 { - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(26) - }() - return &_err - }(), &_db, str(5646)) - _clear_error_x(tls, &_err, int32(6)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(28) - }() - return &_err - }(), &_db, str(5694)) - _clear_error_x(tls, &_err, int32(6)) - goto _2 - } - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(31) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -// C comment -// /* -// ** Thread 2. Open and close database connections. -// */ -func _stress_thread_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(42) - }() - return &_err - }()) == 0 { - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(43) - }() - return &_err - }(), &_db, str(378), int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(44) - }() - return &_err - }(), &_db, str(5718)) - _clear_error_x(tls, &_err, int32(6)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(46) - }() - return &_err - }(), &_db) - goto _0 - } - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -// C comment -// /* -// ** Thread 3. Attempt many small SELECT statements. -// */ -func _stress_thread_3(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i1, _i2 int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _i1 = int32(0) - _i2 = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(62) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(63) - }() - return &_err - }()) != 0 { - goto _3 - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(64) - }() - return &_err - }(), &_db, str(5747)) - _i1 += 1 - if _err.Xrc != 0 { - _i2 += 1 - } - _clear_error_x(tls, &_err, int32(6)) - _clear_error_x(tls, &_err, int32(1)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(70) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(5776), _i2, _i1) -} - -// C comment -// /* -// ** Thread 5. Attempt INSERT statements. -// */ -func _stress_thread_4(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i1, _i2, _iArg int32 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _i1 = int32(0) - _i2 = int32(0) - _iArg = int32(int64(crt.P2U(_pArg))) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(85) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(86) - }() - return &_err - }()) != 0 { - goto _3 - } - if _iArg != 0 { - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(88) - }() - return &_err - }(), &_db) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(89) - }() - return &_err - }(), &_db, str(378), int32(0)) - } - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(91) - }() - return &_err - }(), &_db, str(5799)) - _i1 += 1 - if _err.Xrc != 0 { - _i2 += 1 - } - _clear_error_x(tls, &_err, int32(6)) - _clear_error_x(tls, &_err, int32(1)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(100) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(5922), _i2, _i1) -} - -// C comment -// /* -// ** Thread 6. Attempt DELETE operations. -// */ -func _stress_thread_5(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _iArg, _i1, _i2 int32 - var _1_i int64 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _iArg = int32(int64(crt.P2U(_pArg))) - _i1 = int32(0) - _i2 = int32(0) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(116) - }() - return &_err - }(), &_db, str(378), int32(0)) -_2: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(117) - }() - return &_err - }()) != 0 { - goto _3 - } - _1_i = int64(_i1 % int32(4)) - if _iArg != 0 { - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(120) - }() - return &_err - }(), &_db) - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(121) - }() - return &_err - }(), &_db, str(378), int32(0)) - } - _execsql_i64_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(123) - }() - return &_err - }(), &_db, unsafe.Pointer(str(5946)), unsafe.Pointer(&_1_i)) - _i1 += 1 - if _err.Xrc != 0 { - _i2 += 1 - } - _clear_error_x(tls, &_err, int32(6)) - goto _2 -_3: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(128) - }() - return &_err - }(), &_db) - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(5983), _i2, _i1) -} - -func _stress2(tls *crt.TLS, _nMs int32) { - var _i int32 - var _zDb *int8 - var _err XError - var _db XSqlite - var _threads XThreadset - var _aTask [13]TStress2Task - _aTask = [13]TStress2Task{} - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), 0).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload1 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(1)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload2 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(2)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload3 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(3)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload4 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(4)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload5 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(5)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload6 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(6)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload7 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(7)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload8 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(8)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload9 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(9)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload10 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(10)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload11 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(11)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload14 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(12)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) { - v := _stress2_workload17 - return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v)) - }() - _zDb = str(378) - _err = XError{} - _db = XSqlite{} - _threads = XThreadset{} - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(345) - }() - return &_err - }(), &_db, _zDb, int32(1)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(346) - }() - return &_err - }(), &_db, str(6014)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(350) - }() - return &_err - }(), &_db) - _setstoptime_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(352) - }() - return &_err - }(), _nMs) - bin.Xsqlite3_enable_shared_cache(tls, int32(1)) - _i = int32(0) -_8: - if uint64(_i) >= uint64(13) { - goto _11 - } - _stress2_launch_thread_loop(tls, &_err, &_threads, _zDb, func() func(*crt.TLS, *XError, *XSqlite, int32) { - v := elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(_i)).Xx - return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v)) - }()) - _i += 1 - goto _8 -_11: - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(358) - }() - return &_err - }(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb)) - _launch_thread_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(359) - }() - return &_err - }(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb)) - _join_all_threads_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(361) - }() - return &_err - }(), &_threads) - bin.Xsqlite3_enable_shared_cache(tls, int32(0)) - _print_and_free_err(tls, &_err) - _ = _aTask -} - -func _stress2_workload1(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - var _iTab int32 - _iTab = (_i % int32(4)) + int32(1) - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(193) - }() - return _pErr - }(), _pDb, str(6105), _iTab) -} - -func _sql_script_printf_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFormat *int8, args ...interface{}) { - var _1_zSql *int8 - var _ap []interface{} - _ap = args - if _pErr.Xrc == int32(0) { - _1_zSql = bin.Xsqlite3_vmprintf(tls, _zFormat, _ap) - _pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _1_zSql, nil, nil, &_pErr.XzErr) - bin.Xsqlite3_free(tls, unsafe.Pointer(_1_zSql)) - } - _ap = nil -} - -func _stress2_workload2(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - var _iTab int32 - _iTab = (_i % int32(4)) + int32(1) - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(200) - }() - return _pErr - }(), _pDb, str(6158), _iTab) -} - -func _stress2_workload3(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(204) - }() - return _pErr - }(), _pDb, str(6184)) -} - -func _stress2_workload4(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(208) - }() - return _pErr - }(), _pDb, str(6219)) -} - -func _stress2_workload5(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(212) - }() - return _pErr - }(), _pDb, str(6252)) -} - -func _stress2_workload6(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(218) - }() - return _pErr - }(), _pDb, str(6321)) -} - -func _stress2_workload7(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(224) - }() - return _pErr - }(), _pDb, str(6387), _i) -} - -func _stress2_workload8(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(231) - }() - return _pErr - }(), _pDb, str(6469), _i) -} - -func _stress2_workload9(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(239) - }() - return _pErr - }(), _pDb, str(6546), _i) -} - -func _stress2_workload10(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(244) - }() - return _pErr - }(), _pDb, str(6602), _i) -} - -func _stress2_workload11(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(250) - }() - return _pErr - }(), _pDb, str(5639)) -} - -func _stress2_workload14(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(254) - }() - return _pErr - }(), _pDb, str(1143)) -} - -func _stress2_workload17(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) { - _sql_script_printf_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(258) - }() - return _pErr - }(), _pDb, str(6656), unsafe.Pointer(func() *int8 { - if (_i % int32(2)) != 0 { - return str(6681) - } - return str(6688) - }())) -} - -func _stress2_launch_thread_loop(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _zDb *int8, _x func(*crt.TLS, *XError, *XSqlite, int32)) { - var _pCtx *XStress2Ctx - _pCtx = (*XStress2Ctx)(bin.Xsqlite3_malloc(tls, int32(16))) - _pCtx.XzDb = _zDb - *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&_pCtx.XxProc)) = _x - _launch_thread_x(tls, func() *XError { - _pErr.XiLine = func() int32 { - if _pErr.Xrc != 0 { - return _pErr.XiLine - } - return int32(316) - }() - return _pErr - }(), _pThreads, _stress2_thread_wrapper, unsafe.Pointer(_pCtx)) -} - -func _stress2_thread_wrapper(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _i1, _i2, _1_cnt int32 - var _err XError - var _db XSqlite - var _pCtx *XStress2Ctx - _pCtx = (*XStress2Ctx)(_pArg) - _err = XError{} - _db = XSqlite{} - _i1 = int32(0) - _i2 = int32(0) -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(291) - }() - return &_err - }()) != 0 { - goto _1 - } - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(293) - }() - return &_err - }(), &_db, _pCtx.XzDb, int32(0)) - _1_cnt = int32(0) -_6: - if _err.Xrc != int32(0) || _1_cnt >= int32(5) { - goto _10 - } - func() func(*crt.TLS, *XError, *XSqlite, int32) { - v := _pCtx.XxProc - return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v)) - }()(tls, &_err, &_db, _i1) - _i2 += bool2int(_err.Xrc == int32(0)) - _clear_error_x(tls, &_err, int32(6)) - _i1 += 1 - _1_cnt += 1 - goto _6 -_10: - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(300) - }() - return &_err - }(), &_db) - goto _0 -_1: - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(6692), _i2, _i1) -} - -func _stress2_workload19(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) { - var _zDb *int8 - var _err XError - var _db XSqlite - _err = XError{} - _db = XSqlite{} - _zDb = (*int8)(_pArg) -_0: - if _timetostop_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(267) - }() - return &_err - }()) == 0 { - _opendb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(268) - }() - return &_err - }(), &_db, _zDb, int32(0)) - _sql_script_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(269) - }() - return &_err - }(), &_db, str(5718)) - _clear_error_x(tls, &_err, int32(6)) - _closedb_x(tls, func() *XError { - _err.XiLine = func() int32 { - if _err.Xrc != 0 { - return _err.XiLine - } - return int32(271) - }() - return &_err - }(), &_db) - goto _0 - } - _print_and_free_err(tls, &_err) - return bin.Xsqlite3_mprintf(tls, str(1166)) -} - -var _mainØ00substArgvØ001 [3]*int8 - -func init() { - _mainØ00substArgvØ001 = [3]*int8{nil, str(6701), nil} -} - -// C comment -// /************************** Public Interfaces *****************************/ -// /* -// ** CAPI: Initialize the multiplex VFS shim - sqlite3_multiplex_initialize() -// ** -// ** Use the VFS named zOrigVfsName as the VFS that does the actual work. -// ** Use the default if zOrigVfsName==NULL. -// ** -// ** The multiplex VFS shim is named "multiplex". It will become the default -// ** VFS if makeDefault is non-zero. -// ** -// ** THIS ROUTINE IS NOT THREADSAFE. Call this routine exactly once -// ** during start-up. -// */ -func Xsqlite3_multiplex_initialize(tls *crt.TLS, _zOrigVfsName *int8, _makeDefault int32) (r0 int32) { - var _pOrigVfs *bin.Xsqlite3_vfs - if _gMultiplex.XisInitialized != 0 { - return int32(21) - } - _pOrigVfs = bin.Xsqlite3_vfs_find(tls, _zOrigVfsName) - if _pOrigVfs == nil { - return int32(1) - } - func() { - if _pOrigVfs == &_gMultiplex.XsThisVfs { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(1099), unsafe.Pointer(&_sqlite3_multiplex_initializeØ00__func__Ø000), unsafe.Pointer(str(6763))) - crt.X__builtin_abort(tls) - } - }() - _gMultiplex.XisInitialized = int32(1) - *(**bin.Xsqlite3_vfs)(unsafe.Pointer(&_gMultiplex.XpOrigVfs)) = _pOrigVfs - _gMultiplex.XsThisVfs = *_pOrigVfs - { - p := &(_gMultiplex.XsThisVfs.XszOsFile) - *p = int32(uint64(*p) + uint64(16)) - } - _gMultiplex.XsThisVfs.XzName = str(6794) - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxOpen))) = _multiplexOpen - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDelete))) = _multiplexDelete - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxAccess))) = _multiplexAccess - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxFullPathname))) = _multiplexFullPathname - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlOpen))) = _multiplexDlOpen - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlError))) = _multiplexDlError - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlSym))) = _multiplexDlSym - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlClose))) = _multiplexDlClose - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxRandomness))) = _multiplexRandomness - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxSleep))) = _multiplexSleep - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTime))) = _multiplexCurrentTime - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxGetLastError))) = _multiplexGetLastError - *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTimeInt64))) = _multiplexCurrentTimeInt64 - _gMultiplex.XsIoMethodsV1.XiVersion = int32(1) - *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxClose))) = _multiplexClose - *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxRead))) = _multiplexRead - *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxWrite))) = _multiplexWrite - *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxTruncate))) = _multiplexTruncate - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSync))) = _multiplexSync - *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileSize))) = _multiplexFileSize - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxLock))) = _multiplexLock - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxUnlock))) = _multiplexUnlock - *(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxCheckReservedLock))) = _multiplexCheckReservedLock - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileControl))) = _multiplexFileControl - *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSectorSize))) = _multiplexSectorSize - *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxDeviceCharacteristics))) = _multiplexDeviceCharacteristics - _gMultiplex.XsIoMethodsV2 = _gMultiplex.XsIoMethodsV1 - _gMultiplex.XsIoMethodsV2.XiVersion = int32(2) - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmMap))) = _multiplexShmMap - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmLock))) = _multiplexShmLock - *(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmBarrier))) = _multiplexShmBarrier - *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmUnmap))) = _multiplexShmUnmap - bin.Xsqlite3_vfs_register(tls, &_gMultiplex.XsThisVfs, _makeDefault) - bin.Xsqlite3_auto_extension(tls, func() func(*crt.TLS) { v := _multiplexFuncInit; return *(*func(*crt.TLS))(unsafe.Pointer(&v)) }()) - return int32(0) -} - -// C comment -// /************************* Global Variables **********************************/ -// /* -// ** All global variables used by this file are containing within the following -// ** gMultiplex structure. -// */ -var _gMultiplex t10 - -var _sqlite3_multiplex_initializeØ00__func__Ø000 [29]int8 - -func init() { - crt.Xstrncpy(nil, &_sqlite3_multiplex_initializeØ00__func__Ø000[0], str(6804), 29) -} - -// C comment -// /* -// ** This is the xOpen method used for the "multiplex" VFS. -// ** -// ** Most of the work is done by the underlying original VFS. This method -// ** simply links the new file into the appropriate multiplex group if it is a -// ** file that needs to be tracked. -// */ -func _multiplexOpen(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _pConn *bin.Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) { - var _rc, _nName, _sz, _9_bExists, _12_iChunk int32 - var _8_sz64 int64 - var _zToFree, _3_zUri, _4_p *int8 - var _pSubOpen *bin.Xsqlite3_file - var _pOrigVfs *bin.Xsqlite3_vfs - var _pGroup *XmultiplexGroup - var _pMultiplexOpen *XmultiplexConn - _rc = int32(0) - _pGroup = nil - _pSubOpen = nil - _pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - _nName = int32(0) - _sz = int32(0) - _zToFree = nil - - crt.Xmemset(tls, unsafe.Pointer(_pConn), int32(0), uint64(_pVfs.XszOsFile)) - func() { - if _zName == nil && (_flags&int32(8)) == 0 { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(484), unsafe.Pointer(&_multiplexOpenØ00__func__Ø000), unsafe.Pointer(str(6833))) - crt.X__builtin_abort(tls) - } - }() - _pMultiplexOpen = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - if _rc != int32(0) { - goto _3 - } - _nName = func() int32 { - if _zName != nil { - return _multiplexStrlen30(tls, _zName) - } - return int32(0) - }() - _sz = int32((uint64(40) + uint64(_nName)) + uint64(1)) - _pGroup = (*XmultiplexGroup)(bin.Xsqlite3_malloc64(tls, uint64(_sz))) - if _pGroup == nil { - _rc = int32(7) - } -_3: - if _rc != int32(0) { - goto _7 - } - _3_zUri = func() *int8 { - if (_flags & int32(64)) != 0 { - return _zName - } - return nil - }() - crt.Xmemset(tls, unsafe.Pointer(_pGroup), int32(0), uint64(_sz)) - *(**XmultiplexGroup)(unsafe.Pointer(&_pMultiplexOpen.XpGroup)) = _pGroup - _pGroup.XbEnabled = uint8(255) - _pGroup.XbTruncate = uint8(bin.Xsqlite3_uri_boolean(tls, _3_zUri, str(6878), bool2int((_flags&int32(256)) == int32(0)))) - _pGroup.XszChunk = uint32(int32(bin.Xsqlite3_uri_int64(tls, _3_zUri, str(6887), int64(2147418112)))) - _pGroup.XszChunk = (_pGroup.XszChunk + uint32(65535)) & uint32(4294901760) - if _zName != nil { - _4_p = (*int8)(unsafe.Pointer(elem11(_pGroup, uintptr(1)))) - _pGroup.XzName = _4_p - crt.Xmemcpy(tls, unsafe.Pointer(_pGroup.XzName), unsafe.Pointer(_zName), uint64(_nName+int32(1))) - _pGroup.XnName = _nName - } - if _pGroup.XbEnabled == 0 { - goto _11 - } -_12: - if (uint32(bin.Xsqlite3PendingByte()) % _pGroup.XszChunk) >= (_pGroup.XszChunk - uint32(65536)) { - _pGroup.XszChunk += uint32(65536) - goto _12 - } -_11: - _pGroup.Xflags = _flags - _rc = _multiplexSubFilename(tls, _pGroup, int32(1)) - if _rc != int32(0) { - goto _14 - } - _pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, _pOutFlags, int32(0)) - if (_pSubOpen == nil) && (_rc == int32(0)) { - _rc = int32(14) - } -_14: - if _rc != int32(0) { - goto _17 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, &_8_sz64) - if _rc != int32(0) || _zName == nil { - goto _19 - } - if (_flags & int32(16384)) != 0 { - _pGroup.XbEnabled = 0 - goto _29 - } - if _8_sz64 != (0) { - goto _22 - } - if (_flags & int32(2048)) == 0 { - goto _23 - } - _12_iChunk = int32(1) -_24: - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0), &_9_bExists) - if _rc != int32(0) || _9_bExists == 0 { - goto _26 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0)) - if _rc == int32(0) { - _rc = _multiplexSubFilename(tls, _pGroup, preInc7(&_12_iChunk, 1)) - } -_26: - if (_rc == int32(0)) && _9_bExists != 0 { - goto _24 - } -_23: - goto _29 -_22: - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(1)).Xz, int32(0), &_9_bExists) - _9_bExists = bool2int(_multiplexSubSize(tls, _pGroup, int32(1), &_rc) > (0)) - if ((((_rc == int32(0)) && _9_bExists != 0) && (_8_sz64 == (_8_sz64 & int64(4294901760)))) && (_8_sz64 > (0))) && (_8_sz64 != int64(_pGroup.XszChunk)) { - _pGroup.XszChunk = uint32(int32(_8_sz64)) - goto _38 - } - if ((_rc == int32(0)) && (_9_bExists == 0)) && (_8_sz64 > int64(_pGroup.XszChunk)) { - _pGroup.XbEnabled = 0 - } -_38: -_29: -_19: -_17: - if _rc != int32(0) { - goto _39 - } - if ((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XiVersion) == int32(1) { - *(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV1 - goto _41 - } - *(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV2 -_41: - goto _42 -_39: - _multiplexFreeComponents(tls, _pGroup) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup)) -_42: -_7: - bin.Xsqlite3_free(tls, unsafe.Pointer(_zToFree)) - return _rc -} - -var _multiplexOpenØ00__func__Ø000 [14]int8 - -func init() { - crt.Xstrncpy(nil, &_multiplexOpenØ00__func__Ø000[0], str(6897), 14) -} - -// C comment -// /************************* Utility Routines *********************************/ -// /* -// ** Compute a string length that is limited to what can be stored in -// ** lower 30 bits of a 32-bit signed integer. -// ** -// ** The value returned will never be negative. Nor will it ever be greater -// ** than the actual length of the string. For very long strings (greater -// ** than 1GiB) the value returned might be less than the true string length. -// */ -func _multiplexStrlen30(tls *crt.TLS, _z *int8) (r0 int32) { - var _z2 *int8 - _z2 = _z - if _z == nil { - return int32(0) - } -_0: - if (*_z2) != 0 { - *(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1) - goto _0 - } - return int32(1073741823) & int32(int64(uintptr(unsafe.Pointer(_z2))-uintptr(unsafe.Pointer(_z)))) -} - -// C comment -// /* Compute the filename for the iChunk-th chunk -// */ -func _multiplexSubFilename(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32) (r0 int32) { - var _3_n int32 - var _3_z *int8 - var _1_p *TmultiplexReal - if _iChunk < _pGroup.XnReal { - goto _0 - } - _1_p = (*TmultiplexReal)(bin.Xsqlite3_realloc64(tls, _pGroup.XaReal, uint64(_iChunk+int32(1))*uint64(16))) - if _1_p == nil { - return int32(7) - } - crt.Xmemset(tls, unsafe.Pointer(elem12(_1_p, uintptr(_pGroup.XnReal))), int32(0), uint64(16)*uint64((_iChunk+int32(1))-_pGroup.XnReal)) - *(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = _1_p - _pGroup.XnReal = _iChunk + int32(1) -_0: - if _pGroup.XzName == nil || (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil { - goto _3 - } - _3_n = _pGroup.XnName - elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz = store2(&_3_z, (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_3_n+int32(5))))) - if _3_z == nil { - return int32(7) - } - _multiplexFilename(tls, _pGroup.XzName, _pGroup.XnName, _pGroup.Xflags, _iChunk, _3_z) -_3: - return int32(0) -} - -// C comment -// /* -// ** Generate the file-name for chunk iChunk of the group with base name -// ** zBase. The file-name is written to buffer zOut before returning. Buffer -// ** zOut must be allocated by the caller so that it is at least (nBase+5) -// ** bytes in size, where nBase is the length of zBase, not including the -// ** nul-terminator. -// ** -// ** If iChunk is 0 (or 400 - the number for the first journal file chunk), -// ** the output is a copy of the input string. Otherwise, if -// ** SQLITE_ENABLE_8_3_NAMES is not defined or the input buffer does not contain -// ** a "." character, then the output is a copy of the input string with the -// ** three-digit zero-padded decimal representation if iChunk appended to it. -// ** For example: -// ** -// ** zBase="test.db", iChunk=4 -> zOut="test.db004" -// ** -// ** Or, if SQLITE_ENABLE_8_3_NAMES is defined and the input buffer contains -// ** a "." character, then everything after the "." is replaced by the -// ** three-digit representation of iChunk. -// ** -// ** zBase="test.db", iChunk=4 -> zOut="test.004" -// ** -// ** The output buffer string is terminated by 2 0x00 bytes. This makes it safe -// ** to pass to sqlite3_uri_parameter() and similar. -// */ -func _multiplexFilename(tls *crt.TLS, _zBase *int8, _nBase int32, _flags int32, _iChunk int32, _zOut *int8) { - var _n int32 - _n = _nBase - crt.Xmemcpy(tls, unsafe.Pointer(_zOut), unsafe.Pointer(_zBase), uint64(_n+int32(1))) - if (_iChunk != int32(0)) && (_iChunk <= int32(299)) { - bin.Xsqlite3_snprintf(tls, int32(4), elem2(_zOut, uintptr(_n)), str(6911), _iChunk) - _n += int32(3) - } - func() { - if int32(*elem2(_zOut, uintptr(_n))) != int32(0) { - crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(250), unsafe.Pointer(&_multiplexFilenameØ00__func__Ø000), unsafe.Pointer(str(6916))) - crt.X__builtin_abort(tls) - } - }() - *elem2(_zOut, uintptr(_n+int32(1))) = 0 -} - -var _multiplexFilenameØ00__func__Ø000 [18]int8 - -func init() { - crt.Xstrncpy(nil, &_multiplexFilenameØ00__func__Ø000[0], str(6930), 18) -} - -// C comment -// /* Translate an sqlite3_file* that is really a multiplexGroup* into -// ** the sqlite3_file* for the underlying original VFS. -// ** -// ** For chunk 0, the pGroup->flags determines whether or not a new file -// ** is created if it does not already exist. For chunks 1 and higher, the -// ** file is created only if createFlag is 1. -// */ -func _multiplexSubOpen(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32, _pOutFlags *int32, _createFlag int32) (r0 *bin.Xsqlite3_file) { - var _1_flags, _1_bExists int32 - var _pSubOpen *bin.Xsqlite3_file - var _pOrigVfs *bin.Xsqlite3_vfs - _pSubOpen = nil - _pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - *_rc = _multiplexSubFilename(tls, _pGroup, _iChunk) - if (*_rc) != int32(0) || store13(&_pSubOpen, (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)) != nil { - goto _1 - } - _1_flags = _pGroup.Xflags - if _createFlag != 0 { - _1_flags |= int32(4) - goto _7 - } - if _iChunk == int32(0) { - goto _7 - } - if (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) == nil { - return nil - } - *_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0), &_1_bExists) - if (*_rc) == 0 && _1_bExists != 0 { - goto _9 - } - if (*_rc) != 0 { - bin.Xsqlite3_log(tls, *_rc, str(6948), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz)) - } - return nil - -_9: - _1_flags &= int32(-5) -_7: - _pSubOpen = (*bin.Xsqlite3_file)(bin.Xsqlite3_malloc64(tls, uint64(_pOrigVfs.XszOsFile))) - if _pSubOpen == nil { - *_rc = int32(3082) - return nil - } - *(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = _pSubOpen - *_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32 { - v := _pOrigVfs.XxOpen - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, _pSubOpen, _1_flags, _pOutFlags) - if (*_rc) != int32(0) { - bin.Xsqlite3_log(tls, *_rc, str(6982), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz)) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pSubOpen)) - *(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = nil - return nil - } -_1: - return _pSubOpen -} - -// C comment -// /* -// ** Return the size, in bytes, of chunk number iChunk. If that chunk -// ** does not exist, then return 0. This function does not distingish between -// ** non-existant files and zero-length files. -// */ -func _multiplexSubSize(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32) (r0 int64) { - var _sz int64 - var _pSub *bin.Xsqlite3_file - _sz = int64(0) - if (*_rc) != 0 { - return 0 - } - _pSub = _multiplexSubOpen(tls, _pGroup, _iChunk, _rc, nil, int32(0)) - if _pSub == nil { - return 0 - } - *_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSub.XpMethods).XxFileSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _pSub, &_sz) - return _sz -} - -// C comment -// /* -// ** Deallocate memory held by a multiplexGroup -// */ -func _multiplexFreeComponents(tls *crt.TLS, _pGroup *XmultiplexGroup) { - var _i int32 - _i = int32(0) -_0: - if _i >= _pGroup.XnReal { - goto _3 - } - _multiplexSubClose(tls, _pGroup, _i, nil) - _i += 1 - goto _0 -_3: - bin.Xsqlite3_free(tls, _pGroup.XaReal) - *(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = nil - _pGroup.XnReal = int32(0) -} - -// C comment -// /* -// ** Close a single sub-file in the connection group. -// */ -func _multiplexSubClose(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _pOrigVfs *bin.Xsqlite3_vfs) { - var _pSubOpen *bin.Xsqlite3_file - _pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp) - if _pSubOpen == nil { - goto _0 - } - func() func(*crt.TLS, *bin.Xsqlite3_file) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxClose - return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - if (_pOrigVfs != nil) && ((elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0)) - } - bin.Xsqlite3_free(tls, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp) -_0: - bin.Xsqlite3_free(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz)) - crt.Xmemset(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk))), int32(0), uint64(16)) -} - -// C comment -// /* -// ** This is the xDelete method used for the "multiplex" VFS. -// ** It attempts to delete the filename specified. -// */ -func _multiplexDelete(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _syncDir int32) (r0 int32) { - var _rc, _1_nName, _3_iChunk, _3_bExists int32 - var _1_z *int8 - var _pOrigVfs *bin.Xsqlite3_vfs - _pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _zName, _syncDir) - if _rc != int32(0) { - goto _0 - } - _1_nName = int32(crt.Xstrlen(tls, _zName)) - _1_z = (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_1_nName+int32(5)))) - if _1_z == nil { - _rc = int32(3082) - goto _2 - } - _3_iChunk = int32(0) -_3: - _multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, 1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists) - if (_rc == int32(0)) && _3_bExists != 0 { - goto _3 - } -_5: - if (_rc == int32(0)) && (_3_iChunk > int32(1)) { - _multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, -1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, _syncDir) - goto _5 - } - if _rc != int32(0) { - goto _8 - } - _3_iChunk = int32(0) -_9: - _multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, 1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := _pOrigVfs.XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists) - if (_rc == int32(0)) && _3_bExists != 0 { - goto _9 - } -_11: - if (_rc == int32(0)) && (_3_iChunk > int32(1)) { - _multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, -1), _1_z) - _rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 { - v := _pOrigVfs.XxDelete - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pOrigVfs, _1_z, _syncDir) - goto _11 - } -_8: -_2: - bin.Xsqlite3_free(tls, unsafe.Pointer(_1_z)) -_0: - return _rc -} - -func _multiplexAccess(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int32) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxAccess - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d) -} - -func _multiplexFullPathname(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int8) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxFullPathname - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d) -} - -func _multiplexDlOpen(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8) (r0 unsafe.Pointer) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlOpen - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexDlError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlError - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) -} - -func _multiplexDlSym(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer, _c *int8) (r0 func(*crt.TLS)) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlSym - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) -} - -func _multiplexDlClose(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer) { - func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer) { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlClose - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexRandomness(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxRandomness - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) -} - -func _multiplexSleep(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxSleep - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexCurrentTime(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *float64) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTime - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -func _multiplexGetLastError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) { - if ((*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError) != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c) - } - return int32(0) -} - -func _multiplexCurrentTimeInt64(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int64) (r0 int32) { - return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 { - v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTimeInt64 - return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b) -} - -// C comment -// /* xClose requests get passed through to the original VFS. -// ** We loop over all open chunk handles and close them. -// ** The group structure for this file is unlinked from -// ** our list of groups and freed. -// */ -func _multiplexClose(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) { - var _rc int32 - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - _multiplexFreeComponents(tls, _pGroup) - bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup)) - return _rc -} - -// C comment -// /* Pass xRead requests thru to the original VFS after -// ** determining the correct chunk to operate on. -// ** Break up reads across chunk boundaries. -// */ -func _multiplexRead(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { - var _rc, _5_i, _6_extra int32 - var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(266) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxRead - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst) -_2: - goto _3 -_0: -_4: - if _iAmt <= int32(0) { - goto _5 - } - _5_i = int32(_iOfst / int64(_pGroup.XszChunk)) - _5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1)) - if _5_pSubOpen == nil { - goto _6 - } - _6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk) - if _6_extra < int32(0) { - _6_extra = int32(0) - } - _iAmt -= _6_extra - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxRead - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk)) - if _rc != int32(0) { - goto _5 - } - _pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt)))) - _iOfst += int64(_iAmt) - _iAmt = _6_extra - goto _9 -_6: - _rc = int32(266) - goto _5 -_9: - goto _4 -_5: -_3: - return _rc -} - -// C comment -// /* Pass xWrite requests thru to the original VFS after -// ** determining the correct chunk to operate on. -// ** Break up writes across chunk boundaries. -// */ -func _multiplexWrite(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { - var _rc, _5_i, _6_extra int32 - var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(778) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxWrite - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst) -_2: - goto _3 -_0: -_4: - if _rc != int32(0) || _iAmt <= int32(0) { - goto _5 - } - _5_i = int32(_iOfst / int64(_pGroup.XszChunk)) - _5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1)) - if _5_pSubOpen == nil { - goto _7 - } - _6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk) - if _6_extra < int32(0) { - _6_extra = int32(0) - } - _iAmt -= _6_extra - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxWrite - return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk)) - _pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt)))) - _iOfst += int64(_iAmt) - _iAmt = _6_extra -_7: - goto _4 -_5: -_3: - return _rc -} - -// C comment -// /* Pass xTruncate requests thru to the original VFS after -// ** determining the correct chunk to operate on. Delete any -// ** chunks above the truncate mark. -// */ -func _multiplexTruncate(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _size int64) (r0 int32) { - var _rc, _4_i, _4_iBaseGroup int32 - var _1_pSubOpen, _4_pSubOpen *bin.Xsqlite3_file - var _4_pOrigVfs *bin.Xsqlite3_vfs - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(1546) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxTruncate - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _size) -_2: - goto _3 -_0: - _4_iBaseGroup = int32(_size / int64(_pGroup.XszChunk)) - _4_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs) - _4_i = _pGroup.XnReal - int32(1) -_4: - if _4_i <= _4_iBaseGroup || _rc != int32(0) { - goto _8 - } - if _pGroup.XbTruncate != 0 { - _multiplexSubClose(tls, _pGroup, _4_i, _4_pOrigVfs) - goto _10 - } - _4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_i, &_rc, nil, int32(0)) - if _4_pSubOpen != nil { - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _4_pSubOpen, 0) - } -_10: - _4_i -= 1 - goto _4 -_8: - if _rc != int32(0) { - goto _12 - } - _4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_iBaseGroup, &_rc, nil, int32(0)) - if _4_pSubOpen != nil { - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v)) - }()(tls, _4_pSubOpen, _size%int64(_pGroup.XszChunk)) - } -_12: - if _rc != 0 { - _rc = int32(1546) - } -_3: - return _rc -} - -// C comment -// /* Pass xSync requests through to the original VFS without change -// */ -func _multiplexSync(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _flags int32) (r0 int32) { - var _rc, _i, _2_rc2 int32 - var _1_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - _i = int32(0) -_0: - if _i >= _pGroup.XnReal { - goto _3 - } - _1_pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_i)).Xp) - if _1_pSubOpen == nil { - goto _4 - } - _2_rc2 = func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxSync - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _flags) - if _2_rc2 != int32(0) { - _rc = _2_rc2 - } -_4: - _i += 1 - goto _0 -_3: - return _rc -} - -// C comment -// /* Pass xFileSize requests through to the original VFS. -// ** Aggregate the size of all the chunks before returning. -// */ -func _multiplexFileSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pSize *int64) (r0 int32) { - var _rc, _i int32 - var _5_sz int64 - var _1_pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(0) - if _pGroup.XbEnabled != 0 { - goto _0 - } - _1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _1_pSubOpen == nil { - _rc = int32(1802) - goto _2 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 { - v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxFileSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v)) - }()(tls, _1_pSubOpen, _pSize) -_2: - goto _3 -_0: - *_pSize = 0 - _i = int32(0) -_4: - if _rc != int32(0) { - goto _7 - } - _5_sz = _multiplexSubSize(tls, _pGroup, _i, &_rc) - if _5_sz == (0) { - goto _7 - } - *_pSize = (int64(_i) * int64(_pGroup.XszChunk)) + _5_sz - _i += 1 - goto _4 -_7: -_3: - return _rc -} - -// C comment -// /* Pass xLock requests through to the original VFS unchanged. -// */ -func _multiplexLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxLock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _lock) - } - return int32(5) -} - -// C comment -// /* Pass xUnlock requests through to the original VFS unchanged. -// */ -func _multiplexUnlock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxUnlock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _lock) - } - return int32(2058) -} - -// C comment -// /* Pass xCheckReservedLock requests through to the original VFS unchanged. -// */ -func _multiplexCheckReservedLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pResOut *int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxCheckReservedLock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _pResOut) - } - return int32(3594) -} - -// C comment -// /* Pass xFileControl requests through to the original VFS unchanged, -// ** except for any MULTIPLEX_CTRL_* requests here. -// */ -func _multiplexFileControl(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) { - var _rc, _2_bEnabled int32 - var _3_szChunk uint32 - var _6_aFcntl **int8 - var _pSubOpen *bin.Xsqlite3_file - var _pGroup *XmultiplexGroup - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pGroup = (*XmultiplexGroup)(_p.XpGroup) - _rc = int32(1) - if _gMultiplex.XisInitialized == 0 { - return int32(21) - } - switch _op { - case int32(5): - goto _5 - case int32(6): - goto _5 - case int32(14): - goto _7 - case int32(214014): - goto _2 - case int32(214015): - goto _3 - case int32(214016): - goto _4 - default: - goto _8 - } - -_2: - if _pArg != nil { - _2_bEnabled = *(*int32)(_pArg) - _pGroup.XbEnabled = uint8(_2_bEnabled) - _rc = int32(0) - } - goto _10 -_3: - if _pArg == nil { - goto _11 - } - _3_szChunk = *(*uint32)(_pArg) - if _3_szChunk < uint32(1) { - _rc = int32(21) - goto _13 - } - _3_szChunk = _3_szChunk + uint32(65535) - _3_szChunk &= uint32(4294901760) - _pGroup.XszChunk = _3_szChunk - _rc = int32(0) -_13: -_11: - goto _10 -_4: - _rc = int32(0) - goto _10 -_5: - _rc = int32(0) - goto _10 -_7: - _6_aFcntl = (**int8)(_pArg) - if (*elem1(_6_aFcntl, uintptr(1))) == nil || bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(1)), str(7014)) != int32(0) { - goto _15 - } - if (*elem1(_6_aFcntl, uintptr(2))) == nil || (*elem2(*elem1(_6_aFcntl, uintptr(2)), 0)) == 0 { - goto _17 - } - if (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7033)) == int32(0)) || (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7036)) == int32(0)) { - _pGroup.XbTruncate = uint8(1) - goto _22 - } - if (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7038)) == int32(0)) || (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7042)) == int32(0)) { - _pGroup.XbTruncate = 0 - } -_22: -_17: - *elem1(_6_aFcntl, 0) = bin.Xsqlite3_mprintf(tls, func() *int8 { - if _pGroup.XbTruncate != 0 { - return str(7033) - } - return str(7038) - }()) - _rc = int32(0) - goto _10 -_15: -_8: - _pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0)) - if _pSubOpen == nil { - goto _25 - } - _rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileControl - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _op, _pArg) - if (_op == int32(12)) && (_rc == int32(0)) { - *(**int8)(_pArg) = bin.Xsqlite3_mprintf(tls, str(7044), unsafe.Pointer(*(**int8)(_pArg))) - } -_25: - goto _10 -_10: - return _rc -} - -// C comment -// /* Pass xSectorSize requests through to the original VFS unchanged. -// */ -func _multiplexSectorSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if (_pSubOpen != nil) && (((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize) != nil) { - return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize - return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - } - return int32(4096) -} - -// C comment -// /* Pass xDeviceCharacteristics requests through to the original VFS unchanged. -// */ -func _multiplexDeviceCharacteristics(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxDeviceCharacteristics - return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - } - return int32(0) -} - -// C comment -// /* Pass xShmMap requests through to the original VFS unchanged. -// */ -func _multiplexShmMap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _iRegion int32, _szRegion int32, _bExtend int32, _pp *unsafe.Pointer) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmMap - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _iRegion, _szRegion, _bExtend, _pp) - } - return int32(10) -} - -// C comment -// /* Pass xShmLock requests through to the original VFS unchanged. -// */ -func _multiplexShmLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _ofst int32, _n int32, _flags int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmLock - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _ofst, _n, _flags) - } - return int32(5) -} - -// C comment -// /* Pass xShmBarrier requests through to the original VFS unchanged. -// */ -func _multiplexShmBarrier(tls *crt.TLS, _pConn *bin.Xsqlite3_file) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - func() func(*crt.TLS, *bin.Xsqlite3_file) { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmBarrier - return *(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&v)) - }()(tls, _pSubOpen) - } -} - -// C comment -// /* Pass xShmUnmap requests through to the original VFS unchanged. -// */ -func _multiplexShmUnmap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _deleteFlag int32) (r0 int32) { - var _rc int32 - var _pSubOpen *bin.Xsqlite3_file - var _p *XmultiplexConn - _p = (*XmultiplexConn)(unsafe.Pointer(_pConn)) - _pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0)) - if _pSubOpen != nil { - return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 { - v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmUnmap - return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v)) - }()(tls, _pSubOpen, _deleteFlag) - } - return int32(0) -} - -// C comment -// /* -// ** This is the entry point to register the auto-extension for the -// ** multiplex_control() function. -// */ -func _multiplexFuncInit(tls *crt.TLS, _db unsafe.Pointer, _pzErrMsg **int8, _pApi *t14) (r0 int32) { - var _rc int32 - _rc = bin.Xsqlite3_create_function(tls, (*bin.Xsqlite3)(_db), str(7057), int32(2), int32(5), nil, func() func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem) { - v := _multiplexControlFunc - return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v)) - }(), nil, nil) - return _rc -} - -// C comment -// /* -// ** This is the implementation of the multiplex_control() SQL function. -// */ -func _multiplexControlFunc(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) { - var _rc, _op, _iVal int32 - var _db unsafe.Pointer - _rc = int32(0) - _db = unsafe.Pointer(bin.Xsqlite3_context_db_handle(tls, (*bin.Xsqlite3_context)(_context))) - _op = int32(0) - if (_db == nil) || (_argc != int32(2)) { - _rc = int32(1) - goto _2 - } - _op = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, 0))) - _iVal = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, uintptr(1)))) - switch _op { - case int32(1): - goto _4 - case int32(2): - goto _5 - case int32(3): - goto _6 - default: - goto _7 - } - -_4: - _op = int32(214014) - goto _8 -_5: - _op = int32(214015) - goto _8 -_6: - _op = int32(214016) - goto _8 -_7: - _rc = int32(12) - goto _8 -_8: -_2: - if _rc == int32(0) { - _rc = bin.Xsqlite3_file_control(tls, (*bin.Xsqlite3)(_db), nil, _op, unsafe.Pointer(&_iVal)) - } - bin.Xsqlite3_result_error_code(tls, (*bin.Xsqlite3_context)(_context), _rc) - _ = _iVal -} - -func bool2int(b bool) int32 { - if b { - return 1 - } - return 0 -} -func bug20530(interface{}) {} //TODO remove when https://github.com/golang/go/issues/20530 is fixed. -func init() { nzf32 *= -1; nzf64 *= -1 } - -var inf = math.Inf(1) -var nzf32 float32 // -0.0 -var nzf64 float64 // -0.0 -func elem1(a **int8, index uintptr) **int8 { - return (**int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index)) -} -func elem3(a *unsafe.Pointer, index uintptr) *unsafe.Pointer { - return (*unsafe.Pointer)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index)) -} -func elem8(a *int32, index uintptr) *int32 { - return (*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index)) -} -func elem2(a *int8, index uintptr) *int8 { - return (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index)) -} -func elem11(a *XmultiplexGroup, index uintptr) *XmultiplexGroup { - return (*XmultiplexGroup)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 40*index)) -} -func elem12(a *TmultiplexReal, index uintptr) *TmultiplexReal { - return (*TmultiplexReal)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 16*index)) -} -func elem9(a *TStress2Task, index uintptr) *TStress2Task { - return (*TStress2Task)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index)) -} -func elem0(a *TThreadTest, index uintptr) *TThreadTest { - return (*TThreadTest)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 24*index)) -} -func elem4(a *uint32, index uintptr) *uint32 { - return (*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index)) -} -func elem6(a *uint8, index uintptr) *uint8 { - return (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index)) -} -func postInc6(p **uint8, d int) *uint8 { - q := (*uintptr)(unsafe.Pointer(p)) - v := *q - *q += uintptr(d) - return (*uint8)(unsafe.Pointer(v)) -} -func postInc7(p *int32, d int32) int32 { v := *p; *p += d; return v } -func preInc7(p *int32, d int32) int32 { v := *p + d; *p = v; return v } -func preInc5(p *uint32, d uint32) uint32 { v := *p + d; *p = v; return v } -func store2(p **int8, v *int8) *int8 { *p = v; return v } -func store13(p **bin.Xsqlite3_file, v *bin.Xsqlite3_file) *bin.Xsqlite3_file { *p = v; return v } -func store7(p *int32, v int32) int32 { *p = v; return v } -func store5(p *uint32, v uint32) uint32 { *p = v; return v } - -type XmultiplexGroup struct { - XaReal unsafe.Pointer - XnReal int32 - XzName *int8 - XnName int32 - Xflags int32 - XszChunk uint32 - XbEnabled uint8 - XbTruncate uint8 -} // t15 struct{aReal *struct{},nReal int32,zName *int8,nName int32,flags int32,szChunk uint32,bEnabled uint8,bTruncate uint8} - -type TmultiplexReal struct { - Xp unsafe.Pointer - Xz *int8 -} // t16 struct{p *struct{},z *int8} - -type XmultiplexConn struct { - Xbase bin.Xsqlite3_file - XpGroup unsafe.Pointer -} // t17 struct{base struct{pMethods *struct{}},pGroup *struct{}} - -type XMD5Context struct { - XisInit int32 - Xbuf [4]uint32 - Xbits [2]uint32 - Xu t18 -} // t19 struct{isInit int32,buf [4]uint32,bits [2]uint32,u union{in [64]uint8,in32 [16]uint32}} - -type XError struct { - Xrc int32 - XiLine int32 - XzErr *int8 -} // t20 struct{rc int32,iLine int32,zErr *int8} - -type XSqlite struct { - Xdb unsafe.Pointer - XpCache unsafe.Pointer - XnText int32 - XaText **int8 -} // t21 struct{db *struct{},pCache *struct{},nText int32,aText **int8} - -type XStatement struct { - XpStmt unsafe.Pointer - XpNext unsafe.Pointer -} // t22 struct{pStmt *struct{},pNext *struct{}} - -type XThread struct { - XiTid int32 - XpArg unsafe.Pointer - Xtid uint64 - XxProc func(*crt.TLS, int32, unsafe.Pointer) *int8 - XpNext unsafe.Pointer -} // t23 struct{iTid int32,pArg *struct{},tid uint64,xProc *func(int32,*struct{})*int8,pNext *struct{}} - -type XThreadset struct { - XiMaxTid int32 - XpThread unsafe.Pointer -} // t24 struct{iMaxTid int32,pThread *struct{}} - -type XCheckpointStarvationCtx struct { - XeMode int32 - XnMaxFrame int32 -} // t25 struct{eMode int32,nMaxFrame int32} - -type XStress2Ctx struct { - XzDb *int8 - XxProc func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) -} // t26 struct{zDb *int8,xProc *func(*struct{},*struct{},int32)} - -type TStress2Task struct { - Xx func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) -} // t27 struct{x *func(*struct{},*struct{},int32)} - -type TThreadTest struct { - XxTest func(*crt.TLS, int32) - XzTest *int8 - XnMs int32 -} // t28 struct{xTest *func(int32),zTest *int8,nMs int32} - -type t10 struct { - XpOrigVfs unsafe.Pointer - XsThisVfs bin.Xsqlite3_vfs - XsIoMethodsV1 bin.Xsqlite3_io_methods - XsIoMethodsV2 bin.Xsqlite3_io_methods - XisInitialized int32 -} // struct{pOrigVfs *struct{},sThisVfs struct{iVersion int32,szOsFile int32,mxPathname int32,pNext *struct{},zName *int8,pAppData *struct{},xOpen *func(*struct{},*int8,*struct{},int32,*int32)int32,xDelete *func(*struct{},*int8,int32)int32,xAccess *func(*struct{},*int8,int32,*int32)int32,xFullPathname *func(*struct{},*int8,int32,*int8)int32,xDlOpen *func(*struct{},*int8)*struct{},xDlError *func(*struct{},int32,*int8),xDlSym *func(*struct{},*struct{},*int8)*func(),xDlClose *func(*struct{},*struct{}),xRandomness *func(*struct{},int32,*int8)int32,xSleep *func(*struct{},int32)int32,xCurrentTime *func(*struct{},*float64)int32,xGetLastError *func(*struct{},int32,*int8)int32,xCurrentTimeInt64 *func(*struct{},*int64)int32,xSetSystemCall *func(*struct{},*int8,*func())int32,xGetSystemCall *func(*struct{},*int8)*func(),xNextSystemCall *func(*struct{},*int8)*int8},sIoMethodsV1 struct{iVersion int32,xClose *func(*struct{})int32,xRead *func(*struct{},*struct{},int32,int64)int32,xWrite *func(*struct{},*struct{},int32,int64)int32,xTruncate *func(*struct{},int64)int32,xSync *func(*struct{},int32)int32,xFileSize *func(*struct{},*int64)int32,xLock *func(*struct{},int32)int32,xUnlock *func(*struct{},int32)int32,xCheckReservedLock *func(*struct{},*int32)int32,xFileControl *func(*struct{},int32,*struct{})int32,xSectorSize *func(*struct{})int32,xDeviceCharacteristics *func(*struct{})int32,xShmMap *func(*struct{},int32,int32,int32,**struct{})int32,xShmLock *func(*struct{},int32,int32,int32)int32,xShmBarrier *func(*struct{}),xShmUnmap *func(*struct{},int32)int32,xFetch *func(*struct{},int64,int32,**struct{})int32,xUnfetch *func(*struct{},int64,*struct{})int32},sIoMethodsV2 struct{iVersion int32,xClose *func(*struct{})int32,xRead *func(*struct{},*struct{},int32,int64)int32,xWrite *func(*struct{},*struct{},int32,int64)int32,xTruncate *func(*struct{},int64)int32,xSync *func(*struct{},int32)int32,xFileSize *func(*struct{},*int64)int32,xLock *func(*struct{},int32)int32,xUnlock *func(*struct{},int32)int32,xCheckReservedLock *func(*struct{},*int32)int32,xFileControl *func(*struct{},int32,*struct{})int32,xSectorSize *func(*struct{})int32,xDeviceCharacteristics *func(*struct{})int32,xShmMap *func(*struct{},int32,int32,int32,**struct{})int32,xShmLock *func(*struct{},int32,int32,int32)int32,xShmBarrier *func(*struct{}),xShmUnmap *func(*struct{},int32)int32,xFetch *func(*struct{},int64,int32,**struct{})int32,xUnfetch *func(*struct{},int64,*struct{})int32},isInitialized int32} - -type t14 struct { - Xaggregate_context func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xaggregate_count func(*crt.TLS, unsafe.Pointer) int32 - Xbind_blob func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_double func(*crt.TLS, unsafe.Pointer, int32, float64) int32 - Xbind_int func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xbind_int64 func(*crt.TLS, unsafe.Pointer, int32, int64) int32 - Xbind_null func(*crt.TLS, unsafe.Pointer, int32) int32 - Xbind_parameter_count func(*crt.TLS, unsafe.Pointer) int32 - Xbind_parameter_index func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xbind_parameter_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xbind_text func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_text16 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_value func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 - Xbusy_handler func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32 - Xbusy_timeout func(*crt.TLS, unsafe.Pointer, int32) int32 - Xchanges func(*crt.TLS, unsafe.Pointer) int32 - Xclose func(*crt.TLS, unsafe.Pointer) int32 - Xcollation_needed func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32 - Xcollation_needed16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer)) int32 - Xcolumn_blob func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_bytes func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_bytes16 func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_count func(*crt.TLS, unsafe.Pointer) int32 - Xcolumn_database_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_database_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_decltype func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_decltype16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_double func(*crt.TLS, unsafe.Pointer, int32) float64 - Xcolumn_int func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_int64 func(*crt.TLS, unsafe.Pointer, int32) int64 - Xcolumn_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_origin_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_origin_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_table_name func(*crt.TLS, unsafe.Pointer, int32) *int8 - Xcolumn_table_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_text func(*crt.TLS, unsafe.Pointer, int32) *uint8 - Xcolumn_text16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcolumn_type func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcolumn_value func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xcommit_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer - Xcomplete func(*crt.TLS, *int8) int32 - Xcomplete16 func(*crt.TLS, unsafe.Pointer) int32 - Xcreate_collation func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 - Xcreate_collation16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 - Xcreate_function func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 - Xcreate_function16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 - Xcreate_module func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32 - Xdata_count func(*crt.TLS, unsafe.Pointer) int32 - Xdb_handle func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xdeclare_vtab func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xenable_shared_cache func(*crt.TLS, int32) int32 - Xerrcode func(*crt.TLS, unsafe.Pointer) int32 - Xerrmsg func(*crt.TLS, unsafe.Pointer) *int8 - Xerrmsg16 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xexec func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32 - Xexpired func(*crt.TLS, unsafe.Pointer) int32 - Xfinalize func(*crt.TLS, unsafe.Pointer) int32 - Xfree func(*crt.TLS, unsafe.Pointer) - Xfree_table func(*crt.TLS, **int8) - Xget_autocommit func(*crt.TLS, unsafe.Pointer) int32 - Xget_auxdata func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xget_table func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32 - Xglobal_recover func(*crt.TLS) int32 - Xinterruptx func(*crt.TLS, unsafe.Pointer) - Xlast_insert_rowid func(*crt.TLS, unsafe.Pointer) int64 - Xlibversion func(*crt.TLS) *int8 - Xlibversion_number func(*crt.TLS) int32 - Xmalloc func(*crt.TLS, int32) unsafe.Pointer - Xmprintf func(*crt.TLS, *int8, ...interface{}) *int8 - Xopen func(*crt.TLS, *int8, *unsafe.Pointer) int32 - Xopen16 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 - Xprepare func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 - Xprepare16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 - Xprofile func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer - Xprogress_handler func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) - Xrealloc func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer - Xreset func(*crt.TLS, unsafe.Pointer) int32 - Xresult_blob func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_double func(*crt.TLS, unsafe.Pointer, float64) - Xresult_error func(*crt.TLS, unsafe.Pointer, *int8, int32) - Xresult_error16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) - Xresult_int func(*crt.TLS, unsafe.Pointer, int32) - Xresult_int64 func(*crt.TLS, unsafe.Pointer, int64) - Xresult_null func(*crt.TLS, unsafe.Pointer) - Xresult_text func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_text16 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_text16be func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_text16le func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) - Xresult_value func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) - Xrollback_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer - Xset_authorizer func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32 - Xset_auxdata func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) - Xsnprintf func(*crt.TLS, int32, *int8, *int8, ...interface{}) *int8 - Xstep func(*crt.TLS, unsafe.Pointer) int32 - Xtable_column_metadata func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32 - Xthread_cleanup func(*crt.TLS) - Xtotal_changes func(*crt.TLS, unsafe.Pointer) int32 - Xtrace func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer - Xtransfer_bindings func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 - Xupdate_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer - Xuser_data func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_blob func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_bytes func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_bytes16 func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_double func(*crt.TLS, unsafe.Pointer) float64 - Xvalue_int func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_int64 func(*crt.TLS, unsafe.Pointer) int64 - Xvalue_numeric_type func(*crt.TLS, unsafe.Pointer) int32 - Xvalue_text func(*crt.TLS, unsafe.Pointer) *uint8 - Xvalue_text16 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_text16be func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_text16le func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_type func(*crt.TLS, unsafe.Pointer) int32 - Xvmprintf func(*crt.TLS, *int8, unsafe.Pointer) *int8 - Xoverload_function func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 - Xprepare_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 - Xprepare16_v2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 - Xclear_bindings func(*crt.TLS, unsafe.Pointer) int32 - Xcreate_module_v2 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_zeroblob func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xblob_bytes func(*crt.TLS, unsafe.Pointer) int32 - Xblob_close func(*crt.TLS, unsafe.Pointer) int32 - Xblob_open func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32 - Xblob_read func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 - Xblob_write func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 - Xcreate_collation_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, func(*crt.TLS, unsafe.Pointer)) int32 - Xfile_control func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32 - Xmemory_highwater func(*crt.TLS, int32) int64 - Xmemory_used func(*crt.TLS) int64 - Xmutex_alloc func(*crt.TLS, int32) unsafe.Pointer - Xmutex_enter func(*crt.TLS, unsafe.Pointer) - Xmutex_free func(*crt.TLS, unsafe.Pointer) - Xmutex_leave func(*crt.TLS, unsafe.Pointer) - Xmutex_try func(*crt.TLS, unsafe.Pointer) int32 - Xopen_v2 func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32 - Xrelease_memory func(*crt.TLS, int32) int32 - Xresult_error_nomem func(*crt.TLS, unsafe.Pointer) - Xresult_error_toobig func(*crt.TLS, unsafe.Pointer) - Xsleep func(*crt.TLS, int32) int32 - Xsoft_heap_limit func(*crt.TLS, int32) - Xvfs_find func(*crt.TLS, *int8) unsafe.Pointer - Xvfs_register func(*crt.TLS, unsafe.Pointer, int32) int32 - Xvfs_unregister func(*crt.TLS, unsafe.Pointer) int32 - Xxthreadsafe func(*crt.TLS) int32 - Xresult_zeroblob func(*crt.TLS, unsafe.Pointer, int32) - Xresult_error_code func(*crt.TLS, unsafe.Pointer, int32) - Xtest_control func(*crt.TLS, int32, ...interface{}) int32 - Xrandomness func(*crt.TLS, int32, unsafe.Pointer) - Xcontext_db_handle func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xextended_result_codes func(*crt.TLS, unsafe.Pointer, int32) int32 - Xlimit func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xnext_stmt func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer - Xsql func(*crt.TLS, unsafe.Pointer) *int8 - Xstatus func(*crt.TLS, int32, *int32, *int32, int32) int32 - Xbackup_finish func(*crt.TLS, unsafe.Pointer) int32 - Xbackup_init func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer - Xbackup_pagecount func(*crt.TLS, unsafe.Pointer) int32 - Xbackup_remaining func(*crt.TLS, unsafe.Pointer) int32 - Xbackup_step func(*crt.TLS, unsafe.Pointer, int32) int32 - Xcompileoption_get func(*crt.TLS, int32) *int8 - Xcompileoption_used func(*crt.TLS, *int8) int32 - Xcreate_function_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 - Xdb_config func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 - Xdb_mutex func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xdb_status func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32 - Xextended_errcode func(*crt.TLS, unsafe.Pointer) int32 - Xlog func(*crt.TLS, int32, *int8, ...interface{}) - Xsoft_heap_limit64 func(*crt.TLS, int64) int64 - Xsourceid func(*crt.TLS) *int8 - Xstmt_status func(*crt.TLS, unsafe.Pointer, int32, int32) int32 - Xstrnicmp func(*crt.TLS, *int8, *int8, int32) int32 - Xunlock_notify func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, *unsafe.Pointer, int32), unsafe.Pointer) int32 - Xwal_autocheckpoint func(*crt.TLS, unsafe.Pointer, int32) int32 - Xwal_checkpoint func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xwal_hook func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer - Xblob_reopen func(*crt.TLS, unsafe.Pointer, int64) int32 - Xvtab_config func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 - Xvtab_on_conflict func(*crt.TLS, unsafe.Pointer) int32 - Xclose_v2 func(*crt.TLS, unsafe.Pointer) int32 - Xdb_filename func(*crt.TLS, unsafe.Pointer, *int8) *int8 - Xdb_readonly func(*crt.TLS, unsafe.Pointer, *int8) int32 - Xdb_release_memory func(*crt.TLS, unsafe.Pointer) int32 - Xerrstr func(*crt.TLS, int32) *int8 - Xstmt_busy func(*crt.TLS, unsafe.Pointer) int32 - Xstmt_readonly func(*crt.TLS, unsafe.Pointer) int32 - Xstricmp func(*crt.TLS, *int8, *int8) int32 - Xuri_boolean func(*crt.TLS, *int8, *int8, int32) int32 - Xuri_int64 func(*crt.TLS, *int8, *int8, int64) int64 - Xuri_parameter func(*crt.TLS, *int8, *int8) *int8 - Xvsnprintf func(*crt.TLS, int32, *int8, *int8, unsafe.Pointer) *int8 - Xwal_checkpoint_v2 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32 - Xauto_extension func(*crt.TLS, func(*crt.TLS)) int32 - Xbind_blob64 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) int32 - Xbind_text64 func(*crt.TLS, unsafe.Pointer, int32, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) int32 - Xcancel_auto_extension func(*crt.TLS, func(*crt.TLS)) int32 - Xload_extension func(*crt.TLS, unsafe.Pointer, *int8, *int8, **int8) int32 - Xmalloc64 func(*crt.TLS, uint64) unsafe.Pointer - Xmsize func(*crt.TLS, unsafe.Pointer) uint64 - Xrealloc64 func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer - Xreset_auto_extension func(*crt.TLS) - Xresult_blob64 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) - Xresult_text64 func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) - Xstrglob func(*crt.TLS, *int8, *int8) int32 - Xvalue_dup func(*crt.TLS, unsafe.Pointer) unsafe.Pointer - Xvalue_free func(*crt.TLS, unsafe.Pointer) - Xresult_zeroblob64 func(*crt.TLS, unsafe.Pointer, uint64) int32 - Xbind_zeroblob64 func(*crt.TLS, unsafe.Pointer, int32, uint64) int32 - Xvalue_subtype func(*crt.TLS, unsafe.Pointer) uint32 - Xresult_subtype func(*crt.TLS, unsafe.Pointer, uint32) - Xstatus64 func(*crt.TLS, int32, *int64, *int64, int32) int32 - Xstrlike func(*crt.TLS, *int8, *int8, uint32) int32 - Xdb_cacheflush func(*crt.TLS, unsafe.Pointer) int32 - Xsystem_errno func(*crt.TLS, unsafe.Pointer) int32 - Xtrace_v2 func(*crt.TLS, unsafe.Pointer, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32 - Xexpanded_sql func(*crt.TLS, unsafe.Pointer) *int8 - Xset_last_insert_rowid func(*crt.TLS, unsafe.Pointer, int64) -} // struct{aggregate_context *func(*struct{},int32)*struct{},aggregate_count *func(*struct{})int32,bind_blob *func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,bind_double *func(*struct{},int32,float64)int32,bind_int *func(*struct{},int32,int32)int32,bind_int64 *func(*struct{},int32,int64)int32,bind_null *func(*struct{},int32)int32,bind_parameter_count *func(*struct{})int32,bind_parameter_index *func(*struct{},*int8)int32,bind_parameter_name *func(*struct{},int32)*int8,bind_text *func(*struct{},int32,*int8,int32,*func(*struct{}))int32,bind_text16 *func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,bind_value *func(*struct{},int32,*struct{})int32,busy_handler *func(*struct{},*func(*struct{},int32)int32,*struct{})int32,busy_timeout *func(*struct{},int32)int32,changes *func(*struct{})int32,close *func(*struct{})int32,collation_needed *func(*struct{},*struct{},*func(*struct{},*struct{},int32,*int8))int32,collation_needed16 *func(*struct{},*struct{},*func(*struct{},*struct{},int32,*struct{}))int32,column_blob *func(*struct{},int32)*struct{},column_bytes *func(*struct{},int32)int32,column_bytes16 *func(*struct{},int32)int32,column_count *func(*struct{})int32,column_database_name *func(*struct{},int32)*int8,column_database_name16 *func(*struct{},int32)*struct{},column_decltype *func(*struct{},int32)*int8,column_decltype16 *func(*struct{},int32)*struct{},column_double *func(*struct{},int32)float64,column_int *func(*struct{},int32)int32,column_int64 *func(*struct{},int32)int64,column_name *func(*struct{},int32)*int8,column_name16 *func(*struct{},int32)*struct{},column_origin_name *func(*struct{},int32)*int8,column_origin_name16 *func(*struct{},int32)*struct{},column_table_name *func(*struct{},int32)*int8,column_table_name16 *func(*struct{},int32)*struct{},column_text *func(*struct{},int32)*uint8,column_text16 *func(*struct{},int32)*struct{},column_type *func(*struct{},int32)int32,column_value *func(*struct{},int32)*struct{},commit_hook *func(*struct{},*func(*struct{})int32,*struct{})*struct{},complete *func(*int8)int32,complete16 *func(*struct{})int32,create_collation *func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,create_collation16 *func(*struct{},*struct{},int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,create_function *func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,create_function16 *func(*struct{},*struct{},int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,create_module *func(*struct{},*int8,*struct{},*struct{})int32,data_count *func(*struct{})int32,db_handle *func(*struct{})*struct{},declare_vtab *func(*struct{},*int8)int32,enable_shared_cache *func(int32)int32,errcode *func(*struct{})int32,errmsg *func(*struct{})*int8,errmsg16 *func(*struct{})*struct{},exec *func(*struct{},*int8,*func(*struct{},int32,**int8,**int8)int32,*struct{},**int8)int32,expired *func(*struct{})int32,finalize *func(*struct{})int32,free *func(*struct{}),free_table *func(**int8),get_autocommit *func(*struct{})int32,get_auxdata *func(*struct{},int32)*struct{},get_table *func(*struct{},*int8,***int8,*int32,*int32,**int8)int32,global_recover *func()int32,interruptx *func(*struct{}),last_insert_rowid *func(*struct{})int64,libversion *func()*int8,libversion_number *func()int32,malloc *func(int32)*struct{},mprintf *func(*int8...)*int8,open *func(*int8,**struct{})int32,open16 *func(*struct{},**struct{})int32,prepare *func(*struct{},*int8,int32,**struct{},**int8)int32,prepare16 *func(*struct{},*struct{},int32,**struct{},**struct{})int32,profile *func(*struct{},*func(*struct{},*int8,uint64),*struct{})*struct{},progress_handler *func(*struct{},int32,*func(*struct{})int32,*struct{}),realloc *func(*struct{},int32)*struct{},reset *func(*struct{})int32,result_blob *func(*struct{},*struct{},int32,*func(*struct{})),result_double *func(*struct{},float64),result_error *func(*struct{},*int8,int32),result_error16 *func(*struct{},*struct{},int32),result_int *func(*struct{},int32),result_int64 *func(*struct{},int64),result_null *func(*struct{}),result_text *func(*struct{},*int8,int32,*func(*struct{})),result_text16 *func(*struct{},*struct{},int32,*func(*struct{})),result_text16be *func(*struct{},*struct{},int32,*func(*struct{})),result_text16le *func(*struct{},*struct{},int32,*func(*struct{})),result_value *func(*struct{},*struct{}),rollback_hook *func(*struct{},*func(*struct{}),*struct{})*struct{},set_authorizer *func(*struct{},*func(*struct{},int32,*int8,*int8,*int8,*int8)int32,*struct{})int32,set_auxdata *func(*struct{},int32,*struct{},*func(*struct{})),snprintf *func(int32,*int8,*int8...)*int8,step *func(*struct{})int32,table_column_metadata *func(*struct{},*int8,*int8,*int8,**int8,**int8,*int32,*int32,*int32)int32,thread_cleanup *func(),total_changes *func(*struct{})int32,trace *func(*struct{},*func(*struct{},*int8),*struct{})*struct{},transfer_bindings *func(*struct{},*struct{})int32,update_hook *func(*struct{},*func(*struct{},int32,*int8,*int8,int64),*struct{})*struct{},user_data *func(*struct{})*struct{},value_blob *func(*struct{})*struct{},value_bytes *func(*struct{})int32,value_bytes16 *func(*struct{})int32,value_double *func(*struct{})float64,value_int *func(*struct{})int32,value_int64 *func(*struct{})int64,value_numeric_type *func(*struct{})int32,value_text *func(*struct{})*uint8,value_text16 *func(*struct{})*struct{},value_text16be *func(*struct{})*struct{},value_text16le *func(*struct{})*struct{},value_type *func(*struct{})int32,vmprintf *func(*int8,*struct{})*int8,overload_function *func(*struct{},*int8,int32)int32,prepare_v2 *func(*struct{},*int8,int32,**struct{},**int8)int32,prepare16_v2 *func(*struct{},*struct{},int32,**struct{},**struct{})int32,clear_bindings *func(*struct{})int32,create_module_v2 *func(*struct{},*int8,*struct{},*struct{},*func(*struct{}))int32,bind_zeroblob *func(*struct{},int32,int32)int32,blob_bytes *func(*struct{})int32,blob_close *func(*struct{})int32,blob_open *func(*struct{},*int8,*int8,*int8,int64,int32,**struct{})int32,blob_read *func(*struct{},*struct{},int32,int32)int32,blob_write *func(*struct{},*struct{},int32,int32)int32,create_collation_v2 *func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32,*func(*struct{}))int32,file_control *func(*struct{},*int8,int32,*struct{})int32,memory_highwater *func(int32)int64,memory_used *func()int64,mutex_alloc *func(int32)*struct{},mutex_enter *func(*struct{}),mutex_free *func(*struct{}),mutex_leave *func(*struct{}),mutex_try *func(*struct{})int32,open_v2 *func(*int8,**struct{},int32,*int8)int32,release_memory *func(int32)int32,result_error_nomem *func(*struct{}),result_error_toobig *func(*struct{}),sleep *func(int32)int32,soft_heap_limit *func(int32),vfs_find *func(*int8)*struct{},vfs_register *func(*struct{},int32)int32,vfs_unregister *func(*struct{})int32,xthreadsafe *func()int32,result_zeroblob *func(*struct{},int32),result_error_code *func(*struct{},int32),test_control *func(int32...)int32,randomness *func(int32,*struct{}),context_db_handle *func(*struct{})*struct{},extended_result_codes *func(*struct{},int32)int32,limit *func(*struct{},int32,int32)int32,next_stmt *func(*struct{},*struct{})*struct{},sql *func(*struct{})*int8,status *func(int32,*int32,*int32,int32)int32,backup_finish *func(*struct{})int32,backup_init *func(*struct{},*int8,*struct{},*int8)*struct{},backup_pagecount *func(*struct{})int32,backup_remaining *func(*struct{})int32,backup_step *func(*struct{},int32)int32,compileoption_get *func(int32)*int8,compileoption_used *func(*int8)int32,create_function_v2 *func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}),*func(*struct{}))int32,db_config *func(*struct{},int32...)int32,db_mutex *func(*struct{})*struct{},db_status *func(*struct{},int32,*int32,*int32,int32)int32,extended_errcode *func(*struct{})int32,log *func(int32,*int8...),soft_heap_limit64 *func(int64)int64,sourceid *func()*int8,stmt_status *func(*struct{},int32,int32)int32,strnicmp *func(*int8,*int8,int32)int32,unlock_notify *func(*struct{},*func(**struct{},int32),*struct{})int32,wal_autocheckpoint *func(*struct{},int32)int32,wal_checkpoint *func(*struct{},*int8)int32,wal_hook *func(*struct{},*func(*struct{},*struct{},*int8,int32)int32,*struct{})*struct{},blob_reopen *func(*struct{},int64)int32,vtab_config *func(*struct{},int32...)int32,vtab_on_conflict *func(*struct{})int32,close_v2 *func(*struct{})int32,db_filename *func(*struct{},*int8)*int8,db_readonly *func(*struct{},*int8)int32,db_release_memory *func(*struct{})int32,errstr *func(int32)*int8,stmt_busy *func(*struct{})int32,stmt_readonly *func(*struct{})int32,stricmp *func(*int8,*int8)int32,uri_boolean *func(*int8,*int8,int32)int32,uri_int64 *func(*int8,*int8,int64)int64,uri_parameter *func(*int8,*int8)*int8,vsnprintf *func(int32,*int8,*int8,*struct{})*int8,wal_checkpoint_v2 *func(*struct{},*int8,int32,*int32,*int32)int32,auto_extension *func(*func())int32,bind_blob64 *func(*struct{},int32,*struct{},uint64,*func(*struct{}))int32,bind_text64 *func(*struct{},int32,*int8,uint64,*func(*struct{}),uint8)int32,cancel_auto_extension *func(*func())int32,load_extension *func(*struct{},*int8,*int8,**int8)int32,malloc64 *func(uint64)*struct{},msize *func(*struct{})uint64,realloc64 *func(*struct{},uint64)*struct{},reset_auto_extension *func(),result_blob64 *func(*struct{},*struct{},uint64,*func(*struct{})),result_text64 *func(*struct{},*int8,uint64,*func(*struct{}),uint8),strglob *func(*int8,*int8)int32,value_dup *func(*struct{})*struct{},value_free *func(*struct{}),result_zeroblob64 *func(*struct{},uint64)int32,bind_zeroblob64 *func(*struct{},int32,uint64)int32,value_subtype *func(*struct{})uint32,result_subtype *func(*struct{},uint32),status64 *func(int32,*int64,*int64,int32)int32,strlike *func(*int8,*int8,uint32)int32,db_cacheflush *func(*struct{})int32,system_errno *func(*struct{})int32,trace_v2 *func(*struct{},uint32,*func(uint32,*struct{},*struct{},*struct{})int32,*struct{})int32,expanded_sql *func(*struct{})*int8,set_last_insert_rowid *func(*struct{},int64)} - -type t18 struct { - X [0]struct { - Xin [64]uint8 - Xin32 [16]uint32 - } - U [64]byte -} // union{in [64]uint8,in32 [16]uint32} -func str(n int) *int8 { return (*int8)(unsafe.Pointer(&strTab[n])) } -func wstr(n int) *int32 { return (*int32)(unsafe.Pointer(&strTab[n])) } - -var strTab = []byte("walthread1\x00walthread2\x00walthread3\x00walthread4\x00walthread5\x00cgt_pager_1\x00dynamic_triggers\x00checkpoint_starvation_1\x00checkpoint_starvation_2\x00create_drop_index_1\x00lookaside1\x00vacuum1\x00stress1\x00stress2\x00-multiplexor\x00Failed to install multiplexor VFS (%d)\x0a\x00Running %s for %d seconds...\x0a\x00%d errors out of %d tests\x0a\x00Usage: %s [-multiplexor] [testname|testprefix*]...\x0a\x00Available tests are:\x0a\x00 %s\x0a\x00test.db\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(x PRIMARY KEY);INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 SELECT md5sum(x) FROM t1;\x00open\x00md5sum\x00PRAGMA synchronous=OFF\x00sqlite3_%s() - %s (%d)\x000123456789abcdef\x00%s\x00SELECT md5sum(x) FROM t1 WHERE rowid != (SELECT max(rowid) FROM t1)\x00SELECT x FROM t1 WHERE rowid = (SELECT max(rowid) FROM t1)\x00BEGIN\x00COMMIT\x00Failed read: %s %s %s\x00BEGIN;INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 SELECT md5sum(x) FROM t1;COMMIT;\x00%d iterations\x00reset\x00Cannot discern type: \"%s\"\x00prepare_v2\x00%s:%i: assertion failure in %s: %s\x0a\x00../../../sqlite.org/sqlite-src-3190300/test/threadtest3.c\x000==strcmp(sqlite3_sql(pRet->pStmt), zSql)\x00getSqlStatement\x00PRAGMA integrity_check\x00ok\x00%z\x0a%s\x00* - no such table: *\x00%s: (%d) \"%s\" at line %d\x0a\x00Warning\x00Error\x00PRAGMA wal_checkpoint\x00%d checkpoints\x00Thread %d says: %s\x0a\x00...\x00CREATE TABLE t1(x INTEGER PRIMARY KEY, y UNIQUE)\x00PRAGMA journal_mode = WAL\x00PRAGMA journal_mode = DELETE\x00INSERT INTO t1 VALUES(NULL, randomblob(100))\x00test.db-journal\x00test.db-wal\x00File system looks incorrect (%d, %d)\x00W %d R %d\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(cnt PRIMARY KEY, sum1, sum2);CREATE INDEX i1 ON t1(sum1);CREATE INDEX i2 ON t1(sum2);INSERT INTO t1 VALUES(0, 0, 0);\x00PRAGMA wal_autocheckpoint = 10\x00SELECT max(cnt) FROM t1\x00SELECT sum(cnt) FROM t1\x00SELECT sum(sum1) FROM t1\x00INSERT INTO t1 VALUES(:iNextWrite, :iSum1, :iSum2)\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(a INTEGER PRIMARY KEY, b UNIQUE);\x00PRAGMA wal_autocheckpoint = 15;\x00REPLACE INTO t1 VALUES(:iRow, randomblob(300))\x00PRAGMA wal_autocheckpoint = 0;PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x);BEGIN;INSERT INTO t1 VALUES(randomblob(900));INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 2 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 4 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 8 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 16 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 32 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 64 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 128 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 256 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 512 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 1024 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 2048 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 4096 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 8192 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 16384 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 32768 */INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 65536 */COMMIT;\x00test_sv.db\x00test_sv.db-wal\x00 WAL file is %d bytes,\x00 DB file is %d.\x0a\x00no such file: %s\x00SELECT count(*) FROM t1\x00Bad row count: %d\x00PRAGMA cache_size = 2000;PRAGMA page_size = 1024;CREATE TABLE t1(a INTEGER PRIMARY KEY, b BLOB);\x00INSERT INTO t1 VALUES(:iRow, zeroblob(:iBlob))\x00UPDATE t1 SET b = zeroblob(:iBlob) WHERE a = :iRow\x00SELECT * FROM t1 WHERE a = :iRow\x00PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x, y);CREATE TABLE t2(x, y);CREATE TABLE t3(x, y);CREATE TABLE t4(x, y);CREATE TABLE t5(x, y);CREATE TABLE t6(x, y);CREATE TABLE t7(x, y);CREATE TABLE t8(x, y);CREATE TABLE t9(x, y);\x00INSERT INTO t1 VALUES(:iX, :iY+1)\x00DELETE FROM t1 WHERE x = :iX\x00%d inserts, %d deletes\x00CREATE TRIGGER itr%d BEFORE INSERT ON t%d BEGIN INSERT INTO t%d VALUES(new.x, new.y);END;\x00CREATE TRIGGER dtr%d BEFORE DELETE ON t%d BEGIN DELETE FROM t%d WHERE x = old.x; END;\x00DROP TRIGGER itr%d\x00DROP TRIGGER dtr%d\x00%d created, %d dropped\x00WAL failed to grow - %d frames\x00PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x);\x00INSERT INTO t1 VALUES(randomblob(1200))\x00 Checkpoint mode : %s\x0a\x00PASSIVE\x00RESTART\x00 Peak WAL : %d frames\x0a\x00 Transaction count: %d transactions\x0a\x00SELECT count(x) FROM t1\x00Isolation failure - %lld %lld\x00WAL grew too large - %d frames\x00CREATE TABLE t11(a, b, c, d);WITH data(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM data WHERE x<100) INSERT INTO t11 SELECT x,x,x,x FROM data;\x00DROP INDEX IF EXISTS i1;DROP INDEX IF EXISTS i2;DROP INDEX IF EXISTS i3;DROP INDEX IF EXISTS i4;CREATE INDEX IF NOT EXISTS i1 ON t11(a);CREATE INDEX IF NOT EXISTS i2 ON t11(b);CREATE INDEX IF NOT EXISTS i3 ON t11(c);CREATE INDEX IF NOT EXISTS i4 ON t11(d);SELECT * FROM t11 ORDER BY a;SELECT * FROM t11 ORDER BY b;SELECT * FROM t11 ORDER BY c;SELECT * FROM t11 ORDER BY d;\x00CREATE TABLE t1(x PRIMARY KEY) WITHOUT ROWID;WITH data(x,y) AS ( SELECT 1, quote(randomblob(750)) UNION ALL SELECT x*2, y||y FROM data WHERE x<5) INSERT INTO t1 SELECT y FROM data;CREATE TABLE t3(x PRIMARY KEY,i) WITHOUT ROWID;INSERT INTO t3 VALUES(1, 1);CREATE TABLE t2(x,y,z);INSERT INTO t2 VALUES(randomblob(50), randomblob(50), randomblob(50));\x00SELECT 1 FROM t1\x00SELECT length(x||y||z) FROM t2\x00finalize\x00BEGIN;UPDATE t3 SET i=i+1 WHERE x=1;ROLLBACK;\x00CREATE TABLE t1(x PRIMARY KEY, y BLOB);CREATE INDEX i1 ON t1(y);\x00WITH loop(i) AS (SELECT 1 UNION ALL SELECT i+1 FROM loop WHERE i<100) INSERT INTO t1 SELECT randomblob(50), randomblob(2500) FROM loop\x00DELETE FROM t1 WHERE rowid = :i\x00SELECT * FROM t1 ORDER BY x\x00VACUUM\x00CREATE TABLE IF NOT EXISTS t1(a PRIMARY KEY, b)\x00DROP TABLE IF EXISTS t1\x00SELECT * FROM sqlite_master;\x00SELECT * FROM t1 ORDER BY a;\x00read t1 %d/%d attempts\x00WITH loop(i) AS (SELECT 1 UNION ALL SELECT i+1 FROM loop LIMIT 200) INSERT INTO t1 VALUES(randomblob(60), randomblob(60));\x00wrote t1 %d/%d attempts\x00DELETE FROM t1 WHERE (rowid % 4)==:i\x00deleted from t1 %d/%d attempts\x00CREATE TABLE IF NOT EXISTS t0(x PRIMARY KEY, y, z);CREATE INDEX IF NOT EXISTS i0 ON t0(y);\x00CREATE TABLE IF NOT EXISTS t%d(x PRIMARY KEY, y, z);\x00DROP TABLE IF EXISTS t%d;\x00SELECT * FROM t0 WHERE z = 'small'\x00SELECT * FROM t0 WHERE z = 'big'\x00INSERT INTO t0 VALUES(hex(random()), hex(randomblob(200)), 'small');\x00INSERT INTO t0 VALUES(hex(random()), hex(randomblob(57)), 'big');\x00UPDATE t0 SET y = hex(randomblob(200)) WHERE x LIKE hex((%d %% 5)) AND z='small';\x00UPDATE t0 SET y = hex(randomblob(57)) WHERE x LIKE hex(%d %% 5) AND z='big';\x00DELETE FROM t0 WHERE x LIKE hex(%d %% 5) AND z='small';\x00DELETE FROM t0 WHERE x LIKE hex(%d %% 5) AND z='big';\x00PRAGMA journal_mode = %q\x00delete\x00wal\x00ok %d/%d\x00*\x00../../../sqlite.org/sqlite-src-3190300/src/test_multiplex.c\x00pOrigVfs!=&gMultiplex.sThisVfs\x00multiplex\x00sqlite3_multiplex_initialize\x00zName || (flags & SQLITE_OPEN_DELETEONCLOSE)\x00truncate\x00chunksize\x00multiplexOpen\x00%03d\x00zOut[n]=='\\0'\x00multiplexFilename\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_truncate\x00on\x001\x00off\x000\x00multiplex/%z\x00multiplex_control\x00") |