gitlab.com/danp128/sqlite@v1.0.0/internal/threadtest3/threadtest3_linux_386.go (about)

     1  // Code generated by ccgo. DO NOT EDIT.
     2  
     3  // threadtest3
     4  //  /*
     5  //  ** 2010-07-22
     6  //  **
     7  //  ** The author disclaims copyright to this source code.  In place of
     8  //  ** a legal notice, here is a blessing:
     9  //  **
    10  //  **    May you do good and not evil.
    11  //  **    May you find forgiveness for yourself and forgive others.
    12  //  **    May you share freely, never taking more than you give.
    13  //  **
    14  //  *************************************************************************
    15  //  **
    16  //  ** The code in this file runs a few multi-threaded test cases using the
    17  //  ** SQLite library. It can be compiled to an executable on unix using the
    18  //  ** following command:
    19  //  **
    20  //  **   gcc -O2 threadtest3.c sqlite3.c -ldl -lpthread -lm
    21  //  **
    22  //  ** Even though threadtest3.c is the only C source code file mentioned on
    23  //  ** the compiler command-line, #include macros are used to pull in additional
    24  //  ** C code files named "tt3_*.c".
    25  //  **
    26  //  ** After compiling, run this program with an optional argument telling
    27  //  ** which test to run.  All tests are run if no argument is given.  The
    28  //  ** argument can be a glob pattern to match multiple tests.  Examples:
    29  //  **
    30  //  **        ./a.out                 -- Run all tests
    31  //  **        ./a.out walthread3      -- Run the "walthread3" test
    32  //  **        ./a.out 'wal*'          -- Run all of the wal* tests
    33  //  **        ./a.out --help          -- List all available tests
    34  //  **
    35  //  ** The exit status is non-zero if any test fails.
    36  //  */
    37  
    38  //  /*
    39  //  ** The "Set Error Line" macro.
    40  //  */
    41  package main
    42  
    43  import (
    44  	"math"
    45  	"os"
    46  	"unsafe"
    47  
    48  	"modernc.org/ccgo/crt"
    49  	"modernc.org/sqlite/internal/bin"
    50  )
    51  
    52  var argv []*int8
    53  
    54  func main() {
    55  	for _, v := range os.Args {
    56  		argv = append(argv, (*int8)(crt.CString(v)))
    57  	}
    58  	argv = append(argv, nil)
    59  	X_start(crt.NewTLS(), int32(len(os.Args)), &argv[0])
    60  }
    61  
    62  func X_start(tls *crt.TLS, _argc int32, _argv **int8) {
    63  	crt.X__register_stdfiles(tls, Xstdin, Xstdout, Xstderr)
    64  	crt.X__builtin_exit(tls, Xmain(tls, _argc, _argv))
    65  }
    66  
    67  var Xstdin unsafe.Pointer
    68  
    69  func init() {
    70  	Xstdin = unsafe.Pointer(&X__stdfiles)
    71  }
    72  
    73  var X__stdfiles [3]unsafe.Pointer
    74  
    75  var Xstdout unsafe.Pointer
    76  
    77  func init() {
    78  	Xstdout = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 4)
    79  }
    80  
    81  var Xstderr unsafe.Pointer
    82  
    83  func init() {
    84  	Xstderr = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 8)
    85  }
    86  
    87  func Xmain(tls *crt.TLS, _argc int32, _argv **int8) (r0 int32) {
    88  	var _i, _iArg, _nTestfound, _4_rc int32
    89  	var _2_zArg, _9_z *int8
    90  	var _aTest [14]TThreadTest
    91  	r0 = int32(0)
    92  	_aTest = [14]TThreadTest{}
    93  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XxTest = _walthread1
    94  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XzTest = str(0)
    95  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XnMs = int32(20000)
    96  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XxTest = _walthread2
    97  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XzTest = str(11)
    98  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XnMs = int32(20000)
    99  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XxTest = _walthread3
   100  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XzTest = str(22)
   101  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XnMs = int32(20000)
   102  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XxTest = _walthread4
   103  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XzTest = str(33)
   104  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XnMs = int32(20000)
   105  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XxTest = _walthread5
   106  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XzTest = str(44)
   107  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XnMs = int32(1000)
   108  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XxTest = _cgt_pager_1
   109  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XzTest = str(55)
   110  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XnMs = int32(0)
   111  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XxTest = _dynamic_triggers
   112  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XzTest = str(67)
   113  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XnMs = int32(20000)
   114  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XxTest = _checkpoint_starvation_1
   115  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XzTest = str(84)
   116  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XnMs = int32(10000)
   117  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XxTest = _checkpoint_starvation_2
   118  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XzTest = str(108)
   119  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XnMs = int32(10000)
   120  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XxTest = _create_drop_index_1
   121  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XzTest = str(132)
   122  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XnMs = int32(10000)
   123  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XxTest = _lookaside1
   124  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XzTest = str(152)
   125  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XnMs = int32(10000)
   126  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XxTest = _vacuum1
   127  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XzTest = str(163)
   128  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XnMs = int32(10000)
   129  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XxTest = _stress1
   130  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XzTest = str(171)
   131  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XnMs = int32(10000)
   132  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XxTest = _stress2
   133  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XzTest = str(179)
   134  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XnMs = int32(60000)
   135  	_nTestfound = int32(0)
   136  	bin.Xsqlite3_config(tls, int32(2))
   137  	if _argc < int32(2) {
   138  		_argc = int32(2)
   139  		_argv = (**int8)(unsafe.Pointer(&_mainØ00substArgvØ001))
   140  	}
   141  	_iArg = int32(1)
   142  _1:
   143  	if _iArg >= _argc {
   144  		goto _4
   145  	}
   146  	_2_zArg = *elem1(_argv, uintptr(_iArg))
   147  	if int32(*elem2(_2_zArg, 0)) != int32(45) {
   148  		goto _5
   149  	}
   150  	if bin.Xsqlite3_stricmp(tls, _2_zArg, str(187)) != int32(0) {
   151  		goto _6
   152  	}
   153  	_4_rc = Xsqlite3_multiplex_initialize(tls, nil, int32(1))
   154  	if _4_rc != int32(0) {
   155  		crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(200), _4_rc)
   156  		return int32(253)
   157  	}
   158  	goto _8
   159  _6:
   160  	goto _usage
   161  _8:
   162  	goto _2
   163  _5:
   164  	_i = int32(0)
   165  _9:
   166  	if uint32(_i) >= uint32(14) {
   167  		goto _12
   168  	}
   169  	if bin.Xsqlite3_strglob(tls, _2_zArg, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest) == int32(0) {
   170  		goto _12
   171  	}
   172  	_i += 1
   173  	goto _9
   174  _12:
   175  	if uint32(_i) >= uint32(14) {
   176  		goto _usage
   177  	}
   178  _2:
   179  	_iArg += 1
   180  	goto _1
   181  _4:
   182  	_iArg = int32(1)
   183  _15:
   184  	if _iArg >= _argc {
   185  		goto _18
   186  	}
   187  	if int32(*elem2(*elem1(_argv, uintptr(_iArg)), 0)) == int32(45) {
   188  		goto _16
   189  	}
   190  	_i = int32(0)
   191  _20:
   192  	if uint32(_i) >= uint32(14) {
   193  		goto _23
   194  	}
   195  	_9_z = elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest
   196  	if bin.Xsqlite3_strglob(tls, *elem1(_argv, uintptr(_iArg)), _9_z) == int32(0) {
   197  		crt.Xprintf(tls, str(240), unsafe.Pointer(_9_z), (elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs)/int32(1000))
   198  		crt.Xfflush(tls, (*crt.XFILE)(Xstdout))
   199  		(elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XxTest)(tls, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs)
   200  		_nTestfound += 1
   201  	}
   202  	_i += 1
   203  	goto _20
   204  _23:
   205  _16:
   206  	_iArg += 1
   207  	goto _15
   208  _18:
   209  	if _nTestfound == int32(0) {
   210  		goto _usage
   211  	}
   212  	crt.Xprintf(tls, str(270), _nGlobalErr, _nTestfound)
   213  	return func() int32 {
   214  		if _nGlobalErr > int32(0) {
   215  			return int32(255)
   216  		}
   217  		return int32(0)
   218  	}()
   219  
   220  _usage:
   221  	crt.Xprintf(tls, str(297), unsafe.Pointer(*elem1(_argv, 0)))
   222  	crt.Xprintf(tls, str(349))
   223  	_i = int32(0)
   224  _28:
   225  	if uint32(_i) >= uint32(14) {
   226  		goto _31
   227  	}
   228  	crt.Xprintf(tls, str(371), unsafe.Pointer(elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest))
   229  	_i += 1
   230  	goto _28
   231  _31:
   232  	return int32(254)
   233  
   234  	_ = _aTest
   235  	panic(0)
   236  }
   237  
   238  func _walthread1(tls *crt.TLS, _nMs int32) {
   239  	var _i int32
   240  	var _err XError
   241  	var _db XSqlite
   242  	var _threads XThreadset
   243  	_err = XError{}
   244  	_db = XSqlite{}
   245  	_threads = XThreadset{}
   246  	_opendb_x(tls, func() *XError {
   247  		_err.XiLine = func() int32 {
   248  			if _err.Xrc != 0 {
   249  				return _err.XiLine
   250  			}
   251  			return int32(987)
   252  		}()
   253  		return &_err
   254  	}(), &_db, str(378), int32(1))
   255  	_sql_script_x(tls, func() *XError {
   256  		_err.XiLine = func() int32 {
   257  			if _err.Xrc != 0 {
   258  				return _err.XiLine
   259  			}
   260  			return int32(988)
   261  		}()
   262  		return &_err
   263  	}(), &_db, str(386))
   264  	_closedb_x(tls, func() *XError {
   265  		_err.XiLine = func() int32 {
   266  			if _err.Xrc != 0 {
   267  				return _err.XiLine
   268  			}
   269  			return int32(995)
   270  		}()
   271  		return &_err
   272  	}(), &_db)
   273  	_setstoptime_x(tls, func() *XError {
   274  		_err.XiLine = func() int32 {
   275  			if _err.Xrc != 0 {
   276  				return _err.XiLine
   277  			}
   278  			return int32(997)
   279  		}()
   280  		return &_err
   281  	}(), _nMs)
   282  	_i = int32(0)
   283  _8:
   284  	if _i >= int32(10) {
   285  		goto _11
   286  	}
   287  	_launch_thread_x(tls, func() *XError {
   288  		_err.XiLine = func() int32 {
   289  			if _err.Xrc != 0 {
   290  				return _err.XiLine
   291  			}
   292  			return int32(999)
   293  		}()
   294  		return &_err
   295  	}(), &_threads, _walthread1_thread, nil)
   296  	_i += 1
   297  	goto _8
   298  _11:
   299  	_launch_thread_x(tls, func() *XError {
   300  		_err.XiLine = func() int32 {
   301  			if _err.Xrc != 0 {
   302  				return _err.XiLine
   303  			}
   304  			return int32(1001)
   305  		}()
   306  		return &_err
   307  	}(), &_threads, _walthread1_ckpt_thread, nil)
   308  	_join_all_threads_x(tls, func() *XError {
   309  		_err.XiLine = func() int32 {
   310  			if _err.Xrc != 0 {
   311  				return _err.XiLine
   312  			}
   313  			return int32(1002)
   314  		}()
   315  		return &_err
   316  	}(), &_threads)
   317  	_print_and_free_err(tls, &_err)
   318  }
   319  
   320  func _opendb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFile *int8, _bDelete int32) {
   321  	var _1_rc, _1_flags int32
   322  	if _pErr.Xrc != int32(0) {
   323  		goto _0
   324  	}
   325  	_1_flags = int32(70)
   326  	if _bDelete != 0 {
   327  		crt.Xunlink(tls, _zFile)
   328  	}
   329  	_1_rc = bin.Xsqlite3_open_v2(tls, _zFile, (**bin.Xsqlite3)(unsafe.Pointer(&_pDb.Xdb)), _1_flags, nil)
   330  	if _1_rc != 0 {
   331  		_sqlite_error(tls, _pErr, _pDb, str(562))
   332  		bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb))
   333  		_pDb.Xdb = nil
   334  		goto _3
   335  	}
   336  	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) {
   337  		v := _md5step
   338  		return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v))
   339  	}(), func() func(*crt.TLS, *bin.Xsqlite3_context) {
   340  		v := _md5finalize
   341  		return *(*func(*crt.TLS, *bin.Xsqlite3_context))(unsafe.Pointer(&v))
   342  	}())
   343  	bin.Xsqlite3_busy_handler(tls, (*bin.Xsqlite3)(_pDb.Xdb), _busyhandler, nil)
   344  	bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), str(574), nil, nil, nil)
   345  _3:
   346  _0:
   347  }
   348  
   349  func _sqlite_error(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFunc *int8) {
   350  	_pErr.Xrc = bin.Xsqlite3_errcode(tls, (*bin.Xsqlite3)(_pDb.Xdb))
   351  	_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)))
   352  }
   353  
   354  // C comment
   355  //  /*
   356  //  ** During testing, the special md5sum() aggregate function is available.
   357  //  ** inside SQLite.  The following routines implement that function.
   358  //  */
   359  func _md5step(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) {
   360  	var _i int32
   361  	var _2_zData *int8
   362  	var _p *XMD5Context
   363  	if _argc < int32(1) {
   364  		return
   365  	}
   366  	_p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92)))
   367  	if _p == nil {
   368  		return
   369  	}
   370  	if _p.XisInit == 0 {
   371  		_MD5Init(tls, _p)
   372  	}
   373  	_i = int32(0)
   374  _3:
   375  	if _i >= _argc {
   376  		goto _6
   377  	}
   378  	_2_zData = (*int8)(unsafe.Pointer(bin.Xsqlite3_value_text(tls, (*bin.XMem)(*elem3(_argv, uintptr(_i))))))
   379  	if _2_zData != nil {
   380  		_MD5Update(tls, _p, (*uint8)(unsafe.Pointer(_2_zData)), crt.Xstrlen(tls, _2_zData))
   381  	}
   382  	_i += 1
   383  	goto _3
   384  _6:
   385  }
   386  
   387  // C comment
   388  //  /*
   389  //   * Start MD5 accumulation.  Set bit count to 0 and buffer to mysterious
   390  //   * initialization constants.
   391  //   */
   392  func _MD5Init(tls *crt.TLS, _ctx *XMD5Context) {
   393  	_ctx.XisInit = int32(1)
   394  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), 0) = uint32(1732584193)
   395  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(1)) = uint32(4023233417)
   396  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(2)) = uint32(2562383102)
   397  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(3)) = uint32(271733878)
   398  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) = 0
   399  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) = 0
   400  }
   401  
   402  // C comment
   403  //  /*
   404  //   * Update context to reflect the concatenation of another buffer full
   405  //   * of bytes.
   406  //   */
   407  func _MD5Update(tls *crt.TLS, _ctx *XMD5Context, _buf *uint8, _len uint32) {
   408  	var _t uint32
   409  	var _1_p *uint8
   410  	_t = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)
   411  	if store5(elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0), _t+(_len<<3)) < _t {
   412  		*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += 1
   413  	}
   414  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += _len >> 29
   415  	_t = (_t >> 3) & uint32(63)
   416  	if _t == 0 {
   417  		goto _1
   418  	}
   419  	_1_p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_t)))
   420  	_t = uint32(64) - _t
   421  	if _len < _t {
   422  		crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), _len)
   423  		return
   424  	}
   425  	crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), _t)
   426  	_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16))
   427  	_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)))))))))
   428  	*(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(_t)
   429  	_len -= _t
   430  _1:
   431  	if _len >= uint32(64) {
   432  		crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), uint32(64))
   433  		_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16))
   434  		_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)))))))))
   435  		*(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(64))
   436  		_len -= uint32(64)
   437  		goto _1
   438  	}
   439  	crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), _len)
   440  }
   441  
   442  // C comment
   443  //  /*
   444  //   * Note: this code is harmless on little-endian machines.
   445  //   */
   446  func _byteReverse(tls *crt.TLS, _buf *uint8, _longs uint32) {
   447  	var _t uint32
   448  _0:
   449  	_t = (((uint32(*elem6(_buf, uintptr(3))) << 8) | uint32(*elem6(_buf, uintptr(2)))) << 16) | ((uint32(*elem6(_buf, uintptr(1))) << 8) | uint32(*elem6(_buf, 0)))
   450  	*(*uint32)(unsafe.Pointer(_buf)) = _t
   451  	*(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(4))
   452  	if preInc5(&_longs, uint32(4294967295)) != 0 {
   453  		goto _0
   454  	}
   455  }
   456  
   457  // C comment
   458  //  /*
   459  //   * The core of the MD5 algorithm, this alters an existing MD5 hash to
   460  //   * reflect the addition of 16 longwords of new data.  MD5Update blocks
   461  //   * the data and converts bytes into longwords for this routine.
   462  //   */
   463  func _MD5Transform(tls *crt.TLS, _buf *[4]uint32, _in *[16]uint32) {
   464  	var _a, _b, _c, _d uint32
   465  	_a = *elem4((*uint32)(unsafe.Pointer(_buf)), 0)
   466  	_b = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1))
   467  	_c = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2))
   468  	_d = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3))
   469  	*func() *uint32 {
   470  		*func() *uint32 {
   471  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3614090360)
   472  			return &_a
   473  		}() = (_a << 7) | (_a >> 25)
   474  		return &_a
   475  	}() += _b
   476  	*func() *uint32 {
   477  		*func() *uint32 {
   478  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(3905402710)
   479  			return &_d
   480  		}() = (_d << 12) | (_d >> 20)
   481  		return &_d
   482  	}() += _a
   483  	*func() *uint32 {
   484  		*func() *uint32 {
   485  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(606105819)
   486  			return &_c
   487  		}() = (_c << 17) | (_c >> 15)
   488  		return &_c
   489  	}() += _d
   490  	*func() *uint32 {
   491  		*func() *uint32 {
   492  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3250441966)
   493  			return &_b
   494  		}() = (_b << 22) | (_b >> 10)
   495  		return &_b
   496  	}() += _c
   497  	*func() *uint32 {
   498  		*func() *uint32 {
   499  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4118548399)
   500  			return &_a
   501  		}() = (_a << 7) | (_a >> 25)
   502  		return &_a
   503  	}() += _b
   504  	*func() *uint32 {
   505  		*func() *uint32 {
   506  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(1200080426)
   507  			return &_d
   508  		}() = (_d << 12) | (_d >> 20)
   509  		return &_d
   510  	}() += _a
   511  	*func() *uint32 {
   512  		*func() *uint32 {
   513  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2821735955)
   514  			return &_c
   515  		}() = (_c << 17) | (_c >> 15)
   516  		return &_c
   517  	}() += _d
   518  	*func() *uint32 {
   519  		*func() *uint32 {
   520  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4249261313)
   521  			return &_b
   522  		}() = (_b << 22) | (_b >> 10)
   523  		return &_b
   524  	}() += _c
   525  	*func() *uint32 {
   526  		*func() *uint32 {
   527  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1770035416)
   528  			return &_a
   529  		}() = (_a << 7) | (_a >> 25)
   530  		return &_a
   531  	}() += _b
   532  	*func() *uint32 {
   533  		*func() *uint32 {
   534  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(2336552879)
   535  			return &_d
   536  		}() = (_d << 12) | (_d >> 20)
   537  		return &_d
   538  	}() += _a
   539  	*func() *uint32 {
   540  		*func() *uint32 {
   541  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4294925233)
   542  			return &_c
   543  		}() = (_c << 17) | (_c >> 15)
   544  		return &_c
   545  	}() += _d
   546  	*func() *uint32 {
   547  		*func() *uint32 {
   548  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(2304563134)
   549  			return &_b
   550  		}() = (_b << 22) | (_b >> 10)
   551  		return &_b
   552  	}() += _c
   553  	*func() *uint32 {
   554  		*func() *uint32 {
   555  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1804603682)
   556  			return &_a
   557  		}() = (_a << 7) | (_a >> 25)
   558  		return &_a
   559  	}() += _b
   560  	*func() *uint32 {
   561  		*func() *uint32 {
   562  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(4254626195)
   563  			return &_d
   564  		}() = (_d << 12) | (_d >> 20)
   565  		return &_d
   566  	}() += _a
   567  	*func() *uint32 {
   568  		*func() *uint32 {
   569  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2792965006)
   570  			return &_c
   571  		}() = (_c << 17) | (_c >> 15)
   572  		return &_c
   573  	}() += _d
   574  	*func() *uint32 {
   575  		*func() *uint32 {
   576  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(1236535329)
   577  			return &_b
   578  		}() = (_b << 22) | (_b >> 10)
   579  		return &_b
   580  	}() += _c
   581  	*func() *uint32 {
   582  		*func() *uint32 {
   583  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(4129170786)
   584  			return &_a
   585  		}() = (_a << 5) | (_a >> 27)
   586  		return &_a
   587  	}() += _b
   588  	*func() *uint32 {
   589  		*func() *uint32 {
   590  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(3225465664)
   591  			return &_d
   592  		}() = (_d << 9) | (_d >> 23)
   593  		return &_d
   594  	}() += _a
   595  	*func() *uint32 {
   596  		*func() *uint32 {
   597  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(643717713)
   598  			return &_c
   599  		}() = (_c << 14) | (_c >> 18)
   600  		return &_c
   601  	}() += _d
   602  	*func() *uint32 {
   603  		*func() *uint32 {
   604  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3921069994)
   605  			return &_b
   606  		}() = (_b << 20) | (_b >> 12)
   607  		return &_b
   608  	}() += _c
   609  	*func() *uint32 {
   610  		*func() *uint32 {
   611  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(3593408605)
   612  			return &_a
   613  		}() = (_a << 5) | (_a >> 27)
   614  		return &_a
   615  	}() += _b
   616  	*func() *uint32 {
   617  		*func() *uint32 {
   618  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(38016083)
   619  			return &_d
   620  		}() = (_d << 9) | (_d >> 23)
   621  		return &_d
   622  	}() += _a
   623  	*func() *uint32 {
   624  		*func() *uint32 {
   625  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(3634488961)
   626  			return &_c
   627  		}() = (_c << 14) | (_c >> 18)
   628  		return &_c
   629  	}() += _d
   630  	*func() *uint32 {
   631  		*func() *uint32 {
   632  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(3889429448)
   633  			return &_b
   634  		}() = (_b << 20) | (_b >> 12)
   635  		return &_b
   636  	}() += _c
   637  	*func() *uint32 {
   638  		*func() *uint32 {
   639  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(568446438)
   640  			return &_a
   641  		}() = (_a << 5) | (_a >> 27)
   642  		return &_a
   643  	}() += _b
   644  	*func() *uint32 {
   645  		*func() *uint32 {
   646  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(3275163606)
   647  			return &_d
   648  		}() = (_d << 9) | (_d >> 23)
   649  		return &_d
   650  	}() += _a
   651  	*func() *uint32 {
   652  		*func() *uint32 {
   653  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(4107603335)
   654  			return &_c
   655  		}() = (_c << 14) | (_c >> 18)
   656  		return &_c
   657  	}() += _d
   658  	*func() *uint32 {
   659  		*func() *uint32 {
   660  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1163531501)
   661  			return &_b
   662  		}() = (_b << 20) | (_b >> 12)
   663  		return &_b
   664  	}() += _c
   665  	*func() *uint32 {
   666  		*func() *uint32 {
   667  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(2850285829)
   668  			return &_a
   669  		}() = (_a << 5) | (_a >> 27)
   670  		return &_a
   671  	}() += _b
   672  	*func() *uint32 {
   673  		*func() *uint32 {
   674  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(4243563512)
   675  			return &_d
   676  		}() = (_d << 9) | (_d >> 23)
   677  		return &_d
   678  	}() += _a
   679  	*func() *uint32 {
   680  		*func() *uint32 {
   681  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1735328473)
   682  			return &_c
   683  		}() = (_c << 14) | (_c >> 18)
   684  		return &_c
   685  	}() += _d
   686  	*func() *uint32 {
   687  		*func() *uint32 {
   688  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(2368359562)
   689  			return &_b
   690  		}() = (_b << 20) | (_b >> 12)
   691  		return &_b
   692  	}() += _c
   693  	*func() *uint32 {
   694  		*func() *uint32 {
   695  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4294588738)
   696  			return &_a
   697  		}() = (_a << 4) | (_a >> 28)
   698  		return &_a
   699  	}() += _b
   700  	*func() *uint32 {
   701  		*func() *uint32 {
   702  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(2272392833)
   703  			return &_d
   704  		}() = (_d << 11) | (_d >> 21)
   705  		return &_d
   706  	}() += _a
   707  	*func() *uint32 {
   708  		*func() *uint32 {
   709  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(1839030562)
   710  			return &_c
   711  		}() = (_c << 16) | (_c >> 16)
   712  		return &_c
   713  	}() += _d
   714  	*func() *uint32 {
   715  		*func() *uint32 {
   716  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(4259657740)
   717  			return &_b
   718  		}() = (_b << 23) | (_b >> 9)
   719  		return &_b
   720  	}() += _c
   721  	*func() *uint32 {
   722  		*func() *uint32 {
   723  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2763975236)
   724  			return &_a
   725  		}() = (_a << 4) | (_a >> 28)
   726  		return &_a
   727  	}() += _b
   728  	*func() *uint32 {
   729  		*func() *uint32 {
   730  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(1272893353)
   731  			return &_d
   732  		}() = (_d << 11) | (_d >> 21)
   733  		return &_d
   734  	}() += _a
   735  	*func() *uint32 {
   736  		*func() *uint32 {
   737  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4139469664)
   738  			return &_c
   739  		}() = (_c << 16) | (_c >> 16)
   740  		return &_c
   741  	}() += _d
   742  	*func() *uint32 {
   743  		*func() *uint32 {
   744  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(3200236656)
   745  			return &_b
   746  		}() = (_b << 23) | (_b >> 9)
   747  		return &_b
   748  	}() += _c
   749  	*func() *uint32 {
   750  		*func() *uint32 {
   751  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(681279174)
   752  			return &_a
   753  		}() = (_a << 4) | (_a >> 28)
   754  		return &_a
   755  	}() += _b
   756  	*func() *uint32 {
   757  		*func() *uint32 {
   758  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3936430074)
   759  			return &_d
   760  		}() = (_d << 11) | (_d >> 21)
   761  		return &_d
   762  	}() += _a
   763  	*func() *uint32 {
   764  		*func() *uint32 {
   765  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3572445317)
   766  			return &_c
   767  		}() = (_c << 16) | (_c >> 16)
   768  		return &_c
   769  	}() += _d
   770  	*func() *uint32 {
   771  		*func() *uint32 {
   772  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(76029189)
   773  			return &_b
   774  		}() = (_b << 23) | (_b >> 9)
   775  		return &_b
   776  	}() += _c
   777  	*func() *uint32 {
   778  		*func() *uint32 {
   779  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3654602809)
   780  			return &_a
   781  		}() = (_a << 4) | (_a >> 28)
   782  		return &_a
   783  	}() += _b
   784  	*func() *uint32 {
   785  		*func() *uint32 {
   786  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(3873151461)
   787  			return &_d
   788  		}() = (_d << 11) | (_d >> 21)
   789  		return &_d
   790  	}() += _a
   791  	*func() *uint32 {
   792  		*func() *uint32 {
   793  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(530742520)
   794  			return &_c
   795  		}() = (_c << 16) | (_c >> 16)
   796  		return &_c
   797  	}() += _d
   798  	*func() *uint32 {
   799  		*func() *uint32 {
   800  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(3299628645)
   801  			return &_b
   802  		}() = (_b << 23) | (_b >> 9)
   803  		return &_b
   804  	}() += _c
   805  	*func() *uint32 {
   806  		*func() *uint32 {
   807  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(4096336452)
   808  			return &_a
   809  		}() = (_a << 6) | (_a >> 26)
   810  		return &_a
   811  	}() += _b
   812  	*func() *uint32 {
   813  		*func() *uint32 {
   814  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1126891415)
   815  			return &_d
   816  		}() = (_d << 10) | (_d >> 22)
   817  		return &_d
   818  	}() += _a
   819  	*func() *uint32 {
   820  		*func() *uint32 {
   821  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2878612391)
   822  			return &_c
   823  		}() = (_c << 15) | (_c >> 17)
   824  		return &_c
   825  	}() += _d
   826  	*func() *uint32 {
   827  		*func() *uint32 {
   828  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4237533241)
   829  			return &_b
   830  		}() = (_b << 21) | (_b >> 11)
   831  		return &_b
   832  	}() += _c
   833  	*func() *uint32 {
   834  		*func() *uint32 {
   835  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1700485571)
   836  			return &_a
   837  		}() = (_a << 6) | (_a >> 26)
   838  		return &_a
   839  	}() += _b
   840  	*func() *uint32 {
   841  		*func() *uint32 {
   842  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(2399980690)
   843  			return &_d
   844  		}() = (_d << 10) | (_d >> 22)
   845  		return &_d
   846  	}() += _a
   847  	*func() *uint32 {
   848  		*func() *uint32 {
   849  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4293915773)
   850  			return &_c
   851  		}() = (_c << 15) | (_c >> 17)
   852  		return &_c
   853  	}() += _d
   854  	*func() *uint32 {
   855  		*func() *uint32 {
   856  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2240044497)
   857  			return &_b
   858  		}() = (_b << 21) | (_b >> 11)
   859  		return &_b
   860  	}() += _c
   861  	*func() *uint32 {
   862  		*func() *uint32 {
   863  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1873313359)
   864  			return &_a
   865  		}() = (_a << 6) | (_a >> 26)
   866  		return &_a
   867  	}() += _b
   868  	*func() *uint32 {
   869  		*func() *uint32 {
   870  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(4264355552)
   871  			return &_d
   872  		}() = (_d << 10) | (_d >> 22)
   873  		return &_d
   874  	}() += _a
   875  	*func() *uint32 {
   876  		*func() *uint32 {
   877  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2734768916)
   878  			return &_c
   879  		}() = (_c << 15) | (_c >> 17)
   880  		return &_c
   881  	}() += _d
   882  	*func() *uint32 {
   883  		*func() *uint32 {
   884  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(1309151649)
   885  			return &_b
   886  		}() = (_b << 21) | (_b >> 11)
   887  		return &_b
   888  	}() += _c
   889  	*func() *uint32 {
   890  		*func() *uint32 {
   891  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4149444226)
   892  			return &_a
   893  		}() = (_a << 6) | (_a >> 26)
   894  		return &_a
   895  	}() += _b
   896  	*func() *uint32 {
   897  		*func() *uint32 {
   898  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(3174756917)
   899  			return &_d
   900  		}() = (_d << 10) | (_d >> 22)
   901  		return &_d
   902  	}() += _a
   903  	*func() *uint32 {
   904  		*func() *uint32 {
   905  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(718787259)
   906  			return &_c
   907  		}() = (_c << 15) | (_c >> 17)
   908  		return &_c
   909  	}() += _d
   910  	*func() *uint32 {
   911  		*func() *uint32 {
   912  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3951481745)
   913  			return &_b
   914  		}() = (_b << 21) | (_b >> 11)
   915  		return &_b
   916  	}() += _c
   917  	*elem4((*uint32)(unsafe.Pointer(_buf)), 0) += _a
   918  	*elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1)) += _b
   919  	*elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2)) += _c
   920  	*elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3)) += _d
   921  }
   922  
   923  func _md5finalize(tls *crt.TLS, _context unsafe.Pointer) {
   924  	var _zBuf [33]int8
   925  	var _digest [16]uint8
   926  	var _p *XMD5Context
   927  	_p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92)))
   928  	_MD5Final(tls, (*[16]uint8)(unsafe.Pointer((*uint8)(unsafe.Pointer(&_digest)))), _p)
   929  	_MD5DigestToBase16(tls, (*uint8)(unsafe.Pointer(&_digest)), (*int8)(unsafe.Pointer(&_zBuf)))
   930  	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})))
   931  	_ = _digest
   932  	_ = _zBuf
   933  }
   934  
   935  // C comment
   936  //  /*
   937  //   * Final wrapup - pad to 64-byte boundary with the bit pattern
   938  //   * 1 0* (64-bit count of bits processed, MSB-first)
   939  //   */
   940  func _MD5Final(tls *crt.TLS, _digest *[16]uint8, _ctx *XMD5Context) {
   941  	var _count uint32
   942  	var _p *uint8
   943  	_count = ((*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)) >> 3) & uint32(63)
   944  	_p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_count)))
   945  	*postInc6(&_p, 1) = uint8(128)
   946  	_count = uint32(63) - _count
   947  	if _count < uint32(8) {
   948  		crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), _count)
   949  		_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16))
   950  		_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)))))))))
   951  		crt.Xmemset(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), int32(0), uint32(56))
   952  		goto _1
   953  	}
   954  	crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), _count-uint32(8))
   955  _1:
   956  	_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(14))
   957  	*elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(14)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)
   958  	*elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(15)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1))
   959  	_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)))))))))
   960  	_byteReverse(tls, (*uint8)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), uint32(4))
   961  	crt.Xmemcpy(tls, unsafe.Pointer(_digest), unsafe.Pointer(&_ctx.Xbuf), uint32(16))
   962  	crt.Xmemset(tls, unsafe.Pointer(_ctx), int32(0), uint32(92))
   963  }
   964  
   965  // C comment
   966  //  /*
   967  //  ** Convert a 128-bit MD5 digest into a 32-digit base-16 number.
   968  //  */
   969  func _MD5DigestToBase16(tls *crt.TLS, _digest *uint8, _zBuf *int8) {
   970  	var _i, _j, _1_a int32
   971  	_j = store7(&_i, int32(0))
   972  _0:
   973  	if _i >= int32(16) {
   974  		goto _3
   975  	}
   976  	_1_a = int32(*elem6(_digest, uintptr(_i)))
   977  	*elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr((_1_a>>4)&int32(15)))
   978  	*elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr(_1_a&int32(15)))
   979  	_i += 1
   980  	goto _0
   981  _3:
   982  	*elem2(_zBuf, uintptr(_j)) = 0
   983  }
   984  
   985  var _MD5DigestToBase16Ø00zEncodeØ001 [17]int8
   986  
   987  func init() {
   988  	crt.Xstrncpy(nil, &_MD5DigestToBase16Ø00zEncodeØ001[0], str(620), 17)
   989  }
   990  
   991  func _busyhandler(tls *crt.TLS, _pArg unsafe.Pointer, _n int32) (r0 int32) {
   992  	crt.Xusleep(tls, uint32(10000))
   993  	return int32(1)
   994  }
   995  
   996  func _sql_script_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) {
   997  	if _pErr.Xrc == int32(0) {
   998  		_pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, nil, nil, &_pErr.XzErr)
   999  	}
  1000  }
  1001  
  1002  func _closedb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  1003  	var _rc, _i int32
  1004  	var _pIter, _pNext *XStatement
  1005  	_pIter = (*XStatement)(_pDb.XpCache)
  1006  _0:
  1007  	if _pIter == nil {
  1008  		goto _3
  1009  	}
  1010  	_pNext = (*XStatement)(_pIter.XpNext)
  1011  	bin.Xsqlite3_finalize(tls, _pIter.XpStmt)
  1012  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pIter))
  1013  	_pIter = _pNext
  1014  	goto _0
  1015  _3:
  1016  	_i = int32(0)
  1017  _4:
  1018  	if _i >= _pDb.XnText {
  1019  		goto _7
  1020  	}
  1021  	bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_i))))
  1022  	_i += 1
  1023  	goto _4
  1024  _7:
  1025  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pDb.XaText))
  1026  	_rc = bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb))
  1027  	if _rc != 0 && (_pErr.Xrc == int32(0)) {
  1028  		_pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_errmsg(tls, (*bin.Xsqlite3)(_pDb.Xdb))))
  1029  	}
  1030  	crt.Xmemset(tls, unsafe.Pointer(_pDb), int32(0), uint32(16))
  1031  }
  1032  
  1033  func _setstoptime_x(tls *crt.TLS, _pErr *XError, _nMs int32) {
  1034  	var _1_t float64
  1035  	if _pErr.Xrc == int32(0) {
  1036  		_1_t = _currentTime(tls)
  1037  		_timelimit = _1_t + (float64(_nMs) / (8.64e+07))
  1038  		bug20530(_timelimit)
  1039  	}
  1040  }
  1041  
  1042  func _currentTime(tls *crt.TLS) (r0 float64) {
  1043  	var _1_tm int64
  1044  	var _t float64
  1045  	if _currentTimeØ00pTimelimitVfsØ001 == nil {
  1046  		_currentTimeØ00pTimelimitVfsØ001 = bin.Xsqlite3_vfs_find(tls, nil)
  1047  		bug20530(_currentTimeØ00pTimelimitVfsØ001)
  1048  	}
  1049  	if (_currentTimeØ00pTimelimitVfsØ001.XiVersion >= int32(2)) && (func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 {
  1050  		v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64
  1051  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v))
  1052  	}() != nil) {
  1053  		func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 {
  1054  			v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64
  1055  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v))
  1056  		}()(tls, _currentTimeØ00pTimelimitVfsØ001, &_1_tm)
  1057  		_t = float64(_1_tm) / (8.64e+07)
  1058  		goto _3
  1059  	}
  1060  	func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 {
  1061  		v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTime
  1062  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v))
  1063  	}()(tls, _currentTimeØ00pTimelimitVfsØ001, &_t)
  1064  _3:
  1065  	return _t
  1066  }
  1067  
  1068  var _currentTimeØ00pTimelimitVfsØ001 *bin.Xsqlite3_vfs
  1069  
  1070  // C comment
  1071  //  /*
  1072  //  ** Used by setstoptime() and timetostop().
  1073  //  */
  1074  var _timelimit float64
  1075  
  1076  func _launch_thread_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _xProc func(*crt.TLS, int32, unsafe.Pointer) *int8, _pArg unsafe.Pointer) {
  1077  	var _1_iTid, _1_rc int32
  1078  	var _1_p *XThread
  1079  	if _pErr.Xrc != int32(0) {
  1080  		goto _0
  1081  	}
  1082  	_1_iTid = preInc7(&_pThreads.XiMaxTid, 1)
  1083  	_1_p = (*XThread)(bin.Xsqlite3_malloc(tls, int32(20)))
  1084  	crt.Xmemset(tls, unsafe.Pointer(_1_p), int32(0), uint32(20))
  1085  	_1_p.XiTid = _1_iTid
  1086  	_1_p.XpArg = _pArg
  1087  	_1_p.XxProc = _xProc
  1088  	_1_rc = crt.Xpthread_create(tls, &_1_p.Xtid, nil, _launch_thread_main, unsafe.Pointer(_1_p))
  1089  	if _1_rc != int32(0) {
  1090  		_system_error(tls, _pErr, _1_rc)
  1091  		bin.Xsqlite3_free(tls, unsafe.Pointer(_1_p))
  1092  		goto _2
  1093  	}
  1094  	*(**XThread)(unsafe.Pointer(&_1_p.XpNext)) = (*XThread)(_pThreads.XpThread)
  1095  	*(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = _1_p
  1096  _2:
  1097  _0:
  1098  }
  1099  
  1100  func _launch_thread_main(tls *crt.TLS, _pArg unsafe.Pointer) (r0 unsafe.Pointer) {
  1101  	var _p *XThread
  1102  	_p = (*XThread)(_pArg)
  1103  	return unsafe.Pointer(_p.XxProc(tls, _p.XiTid, _p.XpArg))
  1104  }
  1105  
  1106  func _system_error(tls *crt.TLS, _pErr *XError, _iSys int32) {
  1107  	_pErr.Xrc = _iSys
  1108  	_pErr.XzErr = (*int8)(bin.Xsqlite3_malloc(tls, int32(512)))
  1109  	crt.Xstrerror_r(tls, _iSys, _pErr.XzErr, uint32(512))
  1110  	*elem2(_pErr.XzErr, uintptr(511)) = 0
  1111  }
  1112  
  1113  func _walthread1_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1114  	var _nIter int32
  1115  	var _1_z1, _1_z2, _1_z3 *int8
  1116  	var _1_azSql [2]*int8
  1117  	var _err XError
  1118  	var _db XSqlite
  1119  	_err = XError{}
  1120  	_db = XSqlite{}
  1121  	_nIter = int32(0)
  1122  	_opendb_x(tls, func() *XError {
  1123  		_err.XiLine = func() int32 {
  1124  			if _err.Xrc != 0 {
  1125  				return _err.XiLine
  1126  			}
  1127  			return int32(929)
  1128  		}()
  1129  		return &_err
  1130  	}(), &_db, str(378), int32(0))
  1131  _2:
  1132  	if _timetostop_x(tls, func() *XError {
  1133  		_err.XiLine = func() int32 {
  1134  			if _err.Xrc != 0 {
  1135  				return _err.XiLine
  1136  			}
  1137  			return int32(930)
  1138  		}()
  1139  		return &_err
  1140  	}()) != 0 {
  1141  		goto _3
  1142  	}
  1143  	_1_azSql = [2]*int8{}
  1144  	*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0) = str(640)
  1145  	*elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1)) = str(708)
  1146  	_execsql_i64_x(tls, func() *XError {
  1147  		_err.XiLine = func() int32 {
  1148  			if _err.Xrc != 0 {
  1149  				return _err.XiLine
  1150  			}
  1151  			return int32(937)
  1152  		}()
  1153  		return &_err
  1154  	}(), &_db, unsafe.Pointer(str(767)))
  1155  	_integrity_check_x(tls, func() *XError {
  1156  		_err.XiLine = func() int32 {
  1157  			if _err.Xrc != 0 {
  1158  				return _err.XiLine
  1159  			}
  1160  			return int32(938)
  1161  		}()
  1162  		return &_err
  1163  	}(), &_db)
  1164  	_1_z1 = _execsql_text_x(tls, func() *XError {
  1165  		_err.XiLine = func() int32 {
  1166  			if _err.Xrc != 0 {
  1167  				return _err.XiLine
  1168  			}
  1169  			return int32(939)
  1170  		}()
  1171  		return &_err
  1172  	}(), &_db, int32(1), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0)))
  1173  	_1_z2 = _execsql_text_x(tls, func() *XError {
  1174  		_err.XiLine = func() int32 {
  1175  			if _err.Xrc != 0 {
  1176  				return _err.XiLine
  1177  			}
  1178  			return int32(940)
  1179  		}()
  1180  		return &_err
  1181  	}(), &_db, int32(2), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1))))
  1182  	_1_z3 = _execsql_text_x(tls, func() *XError {
  1183  		_err.XiLine = func() int32 {
  1184  			if _err.Xrc != 0 {
  1185  				return _err.XiLine
  1186  			}
  1187  			return int32(941)
  1188  		}()
  1189  		return &_err
  1190  	}(), &_db, int32(3), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0)))
  1191  	_execsql_i64_x(tls, func() *XError {
  1192  		_err.XiLine = func() int32 {
  1193  			if _err.Xrc != 0 {
  1194  				return _err.XiLine
  1195  			}
  1196  			return int32(942)
  1197  		}()
  1198  		return &_err
  1199  	}(), &_db, unsafe.Pointer(str(773)))
  1200  	if crt.Xstrcmp(tls, _1_z1, _1_z2) != 0 || crt.Xstrcmp(tls, _1_z1, _1_z3) != 0 {
  1201  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(780), unsafe.Pointer(_1_z1), unsafe.Pointer(_1_z2), unsafe.Pointer(_1_z3)))
  1202  	}
  1203  	_sql_script_x(tls, func() *XError {
  1204  		_err.XiLine = func() int32 {
  1205  			if _err.Xrc != 0 {
  1206  				return _err.XiLine
  1207  			}
  1208  			return int32(948)
  1209  		}()
  1210  		return &_err
  1211  	}(), &_db, str(802))
  1212  	_nIter += 1
  1213  	goto _2
  1214  _3:
  1215  	_closedb_x(tls, func() *XError {
  1216  		_err.XiLine = func() int32 {
  1217  			if _err.Xrc != 0 {
  1218  				return _err.XiLine
  1219  			}
  1220  			return int32(957)
  1221  		}()
  1222  		return &_err
  1223  	}(), &_db)
  1224  	_print_and_free_err(tls, &_err)
  1225  	return bin.Xsqlite3_mprintf(tls, str(934), _nIter)
  1226  
  1227  	_ = _1_azSql
  1228  	panic(0)
  1229  }
  1230  
  1231  func _timetostop_x(tls *crt.TLS, _pErr *XError) (r0 int32) {
  1232  	var _ret int32
  1233  	var _1_t float64
  1234  	_ret = int32(1)
  1235  	if _pErr.Xrc == int32(0) {
  1236  		_1_t = _currentTime(tls)
  1237  		_ret = bool2int(_1_t >= _timelimit)
  1238  	}
  1239  	return _ret
  1240  }
  1241  
  1242  func _execsql_i64_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, args ...interface{}) (r0 int64) {
  1243  	var _2_first int32
  1244  	var _iRet int64
  1245  	var _1_pStmt unsafe.Pointer
  1246  	var _1_ap []interface{}
  1247  	_iRet = int64(0)
  1248  	if _pErr.Xrc != int32(0) {
  1249  		goto _0
  1250  	}
  1251  	_1_ap = args
  1252  	_1_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _1_ap)
  1253  	if _1_pStmt == nil {
  1254  		goto _1
  1255  	}
  1256  	_2_first = int32(1)
  1257  _2:
  1258  	if int32(100) != bin.Xsqlite3_step(tls, _1_pStmt) {
  1259  		goto _3
  1260  	}
  1261  	if _2_first != 0 && (bin.Xsqlite3_column_count(tls, _1_pStmt) > int32(0)) {
  1262  		_iRet = bin.Xsqlite3_column_int64(tls, _1_pStmt, int32(0))
  1263  	}
  1264  	_2_first = int32(0)
  1265  	goto _2
  1266  _3:
  1267  	if int32(0) != bin.Xsqlite3_reset(tls, _1_pStmt) {
  1268  		_sqlite_error(tls, _pErr, _pDb, str(948))
  1269  	}
  1270  _1:
  1271  	_1_ap = nil
  1272  _0:
  1273  	return _iRet
  1274  }
  1275  
  1276  func _getAndBindSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _ap []interface{}) (r0 unsafe.Pointer) {
  1277  	var _i int32
  1278  	var _1_zName *int8
  1279  	var _pStmt, _1_pArg unsafe.Pointer
  1280  	var _pStatement *XStatement
  1281  	_pStatement = _getSqlStatement(tls, _pErr, _pDb, (*int8)(crt.VAPointer(&_ap)))
  1282  	if _pStatement == nil {
  1283  		return nil
  1284  	}
  1285  	_pStmt = _pStatement.XpStmt
  1286  	_i = int32(1)
  1287  _1:
  1288  	if _i > bin.Xsqlite3_bind_parameter_count(tls, _pStmt) {
  1289  		goto _4
  1290  	}
  1291  	_1_zName = bin.Xsqlite3_bind_parameter_name(tls, _pStmt, _i)
  1292  	_1_pArg = crt.VAPointer(&_ap)
  1293  	switch int32(*elem2(_1_zName, uintptr(1))) {
  1294  	case int32(105):
  1295  		goto _6
  1296  	default:
  1297  		goto _7
  1298  	}
  1299  
  1300  _6:
  1301  	bin.Xsqlite3_bind_int64(tls, _pStmt, _i, *(*int64)(_1_pArg))
  1302  	goto _8
  1303  _7:
  1304  	_pErr.Xrc = int32(1)
  1305  	_pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(954), unsafe.Pointer(_1_zName))
  1306  	_pStmt = nil
  1307  	goto _8
  1308  _8:
  1309  	_i += 1
  1310  	goto _1
  1311  _4:
  1312  	return _pStmt
  1313  }
  1314  
  1315  func _getSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) (r0 *XStatement) {
  1316  	var _rc int32
  1317  	var _pRet *XStatement
  1318  	_pRet = (*XStatement)(_pDb.XpCache)
  1319  _0:
  1320  	if _pRet == nil {
  1321  		goto _3
  1322  	}
  1323  	if int32(0) == crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) {
  1324  		return _pRet
  1325  	}
  1326  	_pRet = (*XStatement)(_pRet.XpNext)
  1327  	goto _0
  1328  _3:
  1329  	_pRet = (*XStatement)(bin.Xsqlite3_malloc(tls, int32(8)))
  1330  	_rc = bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, int32(-1), &_pRet.XpStmt, nil)
  1331  	if _rc != int32(0) {
  1332  		_sqlite_error(tls, _pErr, _pDb, str(980))
  1333  		return nil
  1334  	}
  1335  	func() {
  1336  		if int32(0) != crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) {
  1337  			crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(1027)), int32(614), unsafe.Pointer(&_getSqlStatementØ00__func__Ø000), unsafe.Pointer(str(1085)))
  1338  			crt.X__builtin_abort(tls)
  1339  		}
  1340  	}()
  1341  	*(**XStatement)(unsafe.Pointer(&_pRet.XpNext)) = (*XStatement)(_pDb.XpCache)
  1342  	*(**XStatement)(unsafe.Pointer(&_pDb.XpCache)) = _pRet
  1343  	return _pRet
  1344  }
  1345  
  1346  var _getSqlStatementØ00__func__Ø000 [16]int8
  1347  
  1348  func init() {
  1349  	crt.Xstrncpy(nil, &_getSqlStatementØ00__func__Ø000[0], str(1127), 16)
  1350  }
  1351  
  1352  func _integrity_check_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  1353  	var _1_zErr, _3_z *int8
  1354  	var _2_pStmt unsafe.Pointer
  1355  	var _1_pStatement *XStatement
  1356  	if _pErr.Xrc != int32(0) {
  1357  		goto _0
  1358  	}
  1359  	_1_zErr = nil
  1360  	_1_pStatement = _getSqlStatement(tls, _pErr, _pDb, str(1143))
  1361  	if _1_pStatement == nil {
  1362  		goto _1
  1363  	}
  1364  	_2_pStmt = _1_pStatement.XpStmt
  1365  _2:
  1366  	if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) {
  1367  		goto _3
  1368  	}
  1369  	_3_z = (*int8)(unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0))))
  1370  	if crt.Xstrcmp(tls, _3_z, str(1166)) == 0 {
  1371  		goto _4
  1372  	}
  1373  	if _1_zErr == nil {
  1374  		_1_zErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(_3_z))
  1375  		goto _6
  1376  	}
  1377  	_1_zErr = bin.Xsqlite3_mprintf(tls, str(1169), unsafe.Pointer(_1_zErr), unsafe.Pointer(_3_z))
  1378  _6:
  1379  _4:
  1380  	goto _2
  1381  _3:
  1382  	bin.Xsqlite3_reset(tls, _2_pStmt)
  1383  	if _1_zErr != nil {
  1384  		_pErr.XzErr = _1_zErr
  1385  		_pErr.Xrc = int32(1)
  1386  	}
  1387  _1:
  1388  _0:
  1389  }
  1390  
  1391  func _execsql_text_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _iSlot int32, args ...interface{}) (r0 *int8) {
  1392  	var _1_nByte, _3_first int32
  1393  	var _zRet *int8
  1394  	var _2_pStmt unsafe.Pointer
  1395  	var _2_ap []interface{}
  1396  	_zRet = nil
  1397  	if _iSlot >= _pDb.XnText {
  1398  		_1_nByte = int32(uint32(4) * uint32(_iSlot+int32(1)))
  1399  		_pDb.XaText = (**int8)(bin.Xsqlite3_realloc(tls, unsafe.Pointer(_pDb.XaText), _1_nByte))
  1400  		crt.Xmemset(tls, unsafe.Pointer(elem1(_pDb.XaText, uintptr(_pDb.XnText))), int32(0), uint32(4)*uint32((_iSlot+int32(1))-_pDb.XnText))
  1401  		_pDb.XnText = _iSlot + int32(1)
  1402  	}
  1403  	if _pErr.Xrc != int32(0) {
  1404  		goto _1
  1405  	}
  1406  	_2_ap = args
  1407  	_2_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _2_ap)
  1408  	if _2_pStmt == nil {
  1409  		goto _2
  1410  	}
  1411  	_3_first = int32(1)
  1412  _3:
  1413  	if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) {
  1414  		goto _4
  1415  	}
  1416  	if _3_first != 0 && (bin.Xsqlite3_column_count(tls, _2_pStmt) > int32(0)) {
  1417  		_zRet = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0))))
  1418  		bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_iSlot))))
  1419  		*elem1(_pDb.XaText, uintptr(_iSlot)) = _zRet
  1420  	}
  1421  	_3_first = int32(0)
  1422  	goto _3
  1423  _4:
  1424  	if int32(0) != bin.Xsqlite3_reset(tls, _2_pStmt) {
  1425  		_sqlite_error(tls, _pErr, _pDb, str(948))
  1426  	}
  1427  _2:
  1428  	_2_ap = nil
  1429  _1:
  1430  	return _zRet
  1431  }
  1432  
  1433  func _test_error_x(tls *crt.TLS, _pErr *XError, _zErr *int8) {
  1434  	if _pErr.Xrc == int32(0) {
  1435  		_pErr.Xrc = int32(1)
  1436  		_pErr.XzErr = _zErr
  1437  		goto _1
  1438  	}
  1439  	bin.Xsqlite3_free(tls, unsafe.Pointer(_zErr))
  1440  _1:
  1441  }
  1442  
  1443  func _print_and_free_err(tls *crt.TLS, _p *XError) {
  1444  	_print_err(tls, _p)
  1445  	_free_err(tls, _p)
  1446  }
  1447  
  1448  func _print_err(tls *crt.TLS, _p *XError) {
  1449  	var _1_isWarn int32
  1450  	if _p.Xrc == int32(0) {
  1451  		goto _0
  1452  	}
  1453  	_1_isWarn = int32(0)
  1454  	if _p.Xrc == int32(17) {
  1455  		_1_isWarn = int32(1)
  1456  	}
  1457  	if bin.Xsqlite3_strglob(tls, str(1175), _p.XzErr) == int32(0) {
  1458  		_1_isWarn = int32(1)
  1459  	}
  1460  	crt.Xprintf(tls, str(1196), unsafe.Pointer(func() *int8 {
  1461  		if _1_isWarn != 0 {
  1462  			return str(1222)
  1463  		}
  1464  		return str(1230)
  1465  	}()), _p.Xrc, unsafe.Pointer(_p.XzErr), _p.XiLine)
  1466  	if _1_isWarn == 0 {
  1467  		_nGlobalErr += 1
  1468  	}
  1469  	crt.Xfflush(tls, (*crt.XFILE)(Xstdout))
  1470  _0:
  1471  }
  1472  
  1473  // C comment
  1474  //  /* Total number of errors in this process so far. */
  1475  var _nGlobalErr int32
  1476  
  1477  func _free_err(tls *crt.TLS, _p *XError) {
  1478  	bin.Xsqlite3_free(tls, unsafe.Pointer(_p.XzErr))
  1479  	_p.XzErr = nil
  1480  	_p.Xrc = int32(0)
  1481  }
  1482  
  1483  func _walthread1_ckpt_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1484  	var _nCkpt int32
  1485  	var _err XError
  1486  	var _db XSqlite
  1487  	_err = XError{}
  1488  	_db = XSqlite{}
  1489  	_nCkpt = int32(0)
  1490  	_opendb_x(tls, func() *XError {
  1491  		_err.XiLine = func() int32 {
  1492  			if _err.Xrc != 0 {
  1493  				return _err.XiLine
  1494  			}
  1495  			return int32(968)
  1496  		}()
  1497  		return &_err
  1498  	}(), &_db, str(378), int32(0))
  1499  _2:
  1500  	if _timetostop_x(tls, func() *XError {
  1501  		_err.XiLine = func() int32 {
  1502  			if _err.Xrc != 0 {
  1503  				return _err.XiLine
  1504  			}
  1505  			return int32(969)
  1506  		}()
  1507  		return &_err
  1508  	}()) != 0 {
  1509  		goto _3
  1510  	}
  1511  	crt.Xusleep(tls, uint32(500000))
  1512  	_execsql_i64_x(tls, func() *XError {
  1513  		_err.XiLine = func() int32 {
  1514  			if _err.Xrc != 0 {
  1515  				return _err.XiLine
  1516  			}
  1517  			return int32(971)
  1518  		}()
  1519  		return &_err
  1520  	}(), &_db, unsafe.Pointer(str(1236)))
  1521  	if _err.Xrc == int32(0) {
  1522  		_nCkpt += 1
  1523  	}
  1524  	_clear_error_x(tls, &_err, int32(5))
  1525  	goto _2
  1526  _3:
  1527  	_closedb_x(tls, func() *XError {
  1528  		_err.XiLine = func() int32 {
  1529  			if _err.Xrc != 0 {
  1530  				return _err.XiLine
  1531  			}
  1532  			return int32(975)
  1533  		}()
  1534  		return &_err
  1535  	}(), &_db)
  1536  	_print_and_free_err(tls, &_err)
  1537  	return bin.Xsqlite3_mprintf(tls, str(1258), _nCkpt)
  1538  }
  1539  
  1540  func _clear_error_x(tls *crt.TLS, _pErr *XError, _rc int32) {
  1541  	if _pErr.Xrc == _rc {
  1542  		_pErr.Xrc = int32(0)
  1543  		bin.Xsqlite3_free(tls, unsafe.Pointer(_pErr.XzErr))
  1544  		_pErr.XzErr = nil
  1545  	}
  1546  }
  1547  
  1548  func _join_all_threads_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset) {
  1549  	var _1_rc int32
  1550  	var _1_ret unsafe.Pointer
  1551  	var _p, _pNext *XThread
  1552  	_p = (*XThread)(_pThreads.XpThread)
  1553  _0:
  1554  	if _p == nil {
  1555  		goto _3
  1556  	}
  1557  	_pNext = (*XThread)(_p.XpNext)
  1558  	_1_rc = crt.Xpthread_join(tls, _p.Xtid, &_1_ret)
  1559  	if _1_rc == int32(0) {
  1560  		goto _4
  1561  	}
  1562  	if _pErr.Xrc == int32(0) {
  1563  		_system_error(tls, _pErr, _1_rc)
  1564  	}
  1565  	goto _6
  1566  _4:
  1567  	crt.Xprintf(tls, str(1273), _p.XiTid, unsafe.Pointer(func() *int8 {
  1568  		if _1_ret == nil {
  1569  			return str(1293)
  1570  		}
  1571  		return (*int8)(_1_ret)
  1572  	}()))
  1573  	crt.Xfflush(tls, (*crt.XFILE)(Xstdout))
  1574  _6:
  1575  	bin.Xsqlite3_free(tls, unsafe.Pointer(_p))
  1576  	_p = _pNext
  1577  	goto _0
  1578  _3:
  1579  	*(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = nil
  1580  }
  1581  
  1582  func _walthread2(tls *crt.TLS, _nMs int32) {
  1583  	var _err XError
  1584  	var _db XSqlite
  1585  	var _threads XThreadset
  1586  	_err = XError{}
  1587  	_db = XSqlite{}
  1588  	_threads = XThreadset{}
  1589  	_opendb_x(tls, func() *XError {
  1590  		_err.XiLine = func() int32 {
  1591  			if _err.Xrc != 0 {
  1592  				return _err.XiLine
  1593  			}
  1594  			return int32(1050)
  1595  		}()
  1596  		return &_err
  1597  	}(), &_db, str(378), int32(1))
  1598  	_sql_script_x(tls, func() *XError {
  1599  		_err.XiLine = func() int32 {
  1600  			if _err.Xrc != 0 {
  1601  				return _err.XiLine
  1602  			}
  1603  			return int32(1051)
  1604  		}()
  1605  		return &_err
  1606  	}(), &_db, str(1297))
  1607  	_closedb_x(tls, func() *XError {
  1608  		_err.XiLine = func() int32 {
  1609  			if _err.Xrc != 0 {
  1610  				return _err.XiLine
  1611  			}
  1612  			return int32(1052)
  1613  		}()
  1614  		return &_err
  1615  	}(), &_db)
  1616  	_setstoptime_x(tls, func() *XError {
  1617  		_err.XiLine = func() int32 {
  1618  			if _err.Xrc != 0 {
  1619  				return _err.XiLine
  1620  			}
  1621  			return int32(1054)
  1622  		}()
  1623  		return &_err
  1624  	}(), _nMs)
  1625  	_launch_thread_x(tls, func() *XError {
  1626  		_err.XiLine = func() int32 {
  1627  			if _err.Xrc != 0 {
  1628  				return _err.XiLine
  1629  			}
  1630  			return int32(1055)
  1631  		}()
  1632  		return &_err
  1633  	}(), &_threads, _walthread2_thread, nil)
  1634  	_launch_thread_x(tls, func() *XError {
  1635  		_err.XiLine = func() int32 {
  1636  			if _err.Xrc != 0 {
  1637  				return _err.XiLine
  1638  			}
  1639  			return int32(1056)
  1640  		}()
  1641  		return &_err
  1642  	}(), &_threads, _walthread2_thread, nil)
  1643  	_launch_thread_x(tls, func() *XError {
  1644  		_err.XiLine = func() int32 {
  1645  			if _err.Xrc != 0 {
  1646  				return _err.XiLine
  1647  			}
  1648  			return int32(1057)
  1649  		}()
  1650  		return &_err
  1651  	}(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1))))
  1652  	_launch_thread_x(tls, func() *XError {
  1653  		_err.XiLine = func() int32 {
  1654  			if _err.Xrc != 0 {
  1655  				return _err.XiLine
  1656  			}
  1657  			return int32(1058)
  1658  		}()
  1659  		return &_err
  1660  	}(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1))))
  1661  	_join_all_threads_x(tls, func() *XError {
  1662  		_err.XiLine = func() int32 {
  1663  			if _err.Xrc != 0 {
  1664  				return _err.XiLine
  1665  			}
  1666  			return int32(1059)
  1667  		}()
  1668  		return &_err
  1669  	}(), &_threads)
  1670  	_print_and_free_err(tls, &_err)
  1671  }
  1672  
  1673  func _walthread2_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1674  	var _iArg, _2_journal_exists, _2_wal_exists int32
  1675  	var _zJournal *int8
  1676  	var _anTrans [2]int32
  1677  	var _err XError
  1678  	var _db XSqlite
  1679  	_err = XError{}
  1680  	_db = XSqlite{}
  1681  	_anTrans = [2]int32{}
  1682  	_iArg = int32(crt.P2U(_pArg))
  1683  	_zJournal = str(1346)
  1684  	if _iArg != 0 {
  1685  		_zJournal = str(1372)
  1686  	}
  1687  _0:
  1688  	if _timetostop_x(tls, func() *XError {
  1689  		_err.XiLine = func() int32 {
  1690  			if _err.Xrc != 0 {
  1691  				return _err.XiLine
  1692  			}
  1693  			return int32(1016)
  1694  		}()
  1695  		return &_err
  1696  	}()) != 0 {
  1697  		goto _2
  1698  	}
  1699  	_2_journal_exists = int32(0)
  1700  	_2_wal_exists = int32(0)
  1701  	_opendb_x(tls, func() *XError {
  1702  		_err.XiLine = func() int32 {
  1703  			if _err.Xrc != 0 {
  1704  				return _err.XiLine
  1705  			}
  1706  			return int32(1020)
  1707  		}()
  1708  		return &_err
  1709  	}(), &_db, str(378), int32(0))
  1710  	_sql_script_x(tls, func() *XError {
  1711  		_err.XiLine = func() int32 {
  1712  			if _err.Xrc != 0 {
  1713  				return _err.XiLine
  1714  			}
  1715  			return int32(1022)
  1716  		}()
  1717  		return &_err
  1718  	}(), &_db, _zJournal)
  1719  	_clear_error_x(tls, &_err, int32(5))
  1720  	_sql_script_x(tls, func() *XError {
  1721  		_err.XiLine = func() int32 {
  1722  			if _err.Xrc != 0 {
  1723  				return _err.XiLine
  1724  			}
  1725  			return int32(1024)
  1726  		}()
  1727  		return &_err
  1728  	}(), &_db, str(767))
  1729  	_sql_script_x(tls, func() *XError {
  1730  		_err.XiLine = func() int32 {
  1731  			if _err.Xrc != 0 {
  1732  				return _err.XiLine
  1733  			}
  1734  			return int32(1025)
  1735  		}()
  1736  		return &_err
  1737  	}(), &_db, str(1401))
  1738  	_2_journal_exists = bool2int(_filesize_x(tls, func() *XError {
  1739  		_err.XiLine = func() int32 {
  1740  			if _err.Xrc != 0 {
  1741  				return _err.XiLine
  1742  			}
  1743  			return int32(1027)
  1744  		}()
  1745  		return &_err
  1746  	}(), str(1446)) >= (0))
  1747  	_2_wal_exists = bool2int(_filesize_x(tls, func() *XError {
  1748  		_err.XiLine = func() int32 {
  1749  			if _err.Xrc != 0 {
  1750  				return _err.XiLine
  1751  			}
  1752  			return int32(1028)
  1753  		}()
  1754  		return &_err
  1755  	}(), str(1462)) >= (0))
  1756  	if (_2_journal_exists + _2_wal_exists) != int32(1) {
  1757  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(1474), _2_journal_exists, _2_wal_exists))
  1758  	}
  1759  	*elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(_2_journal_exists)) += 1
  1760  	_sql_script_x(tls, func() *XError {
  1761  		_err.XiLine = func() int32 {
  1762  			if _err.Xrc != 0 {
  1763  				return _err.XiLine
  1764  			}
  1765  			return int32(1036)
  1766  		}()
  1767  		return &_err
  1768  	}(), &_db, str(773))
  1769  	_integrity_check_x(tls, func() *XError {
  1770  		_err.XiLine = func() int32 {
  1771  			if _err.Xrc != 0 {
  1772  				return _err.XiLine
  1773  			}
  1774  			return int32(1037)
  1775  		}()
  1776  		return &_err
  1777  	}(), &_db)
  1778  	_closedb_x(tls, func() *XError {
  1779  		_err.XiLine = func() int32 {
  1780  			if _err.Xrc != 0 {
  1781  				return _err.XiLine
  1782  			}
  1783  			return int32(1038)
  1784  		}()
  1785  		return &_err
  1786  	}(), &_db)
  1787  	goto _0
  1788  _2:
  1789  	_print_and_free_err(tls, &_err)
  1790  	return bin.Xsqlite3_mprintf(tls, str(1511), *elem8((*int32)(unsafe.Pointer(&_anTrans)), 0), *elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(1)))
  1791  
  1792  	_ = _anTrans
  1793  	panic(0)
  1794  }
  1795  
  1796  func _filesize_x(tls *crt.TLS, _pErr *XError, _zFile *int8) (r0 int64) {
  1797  	var _iRet int64
  1798  	var _1_sStat crt.Xstruct_stat64
  1799  	_iRet = int64(0)
  1800  	if _pErr.Xrc != int32(0) {
  1801  		goto _0
  1802  	}
  1803  	if crt.Xstat64(tls, _zFile, &_1_sStat) != 0 {
  1804  		_iRet = int64(-1)
  1805  		goto _2
  1806  	}
  1807  	_iRet = _1_sStat.Xst_size
  1808  _2:
  1809  _0:
  1810  	return _iRet
  1811  }
  1812  
  1813  func _walthread3(tls *crt.TLS, _nMs int32) {
  1814  	var _i int32
  1815  	var _err XError
  1816  	var _db XSqlite
  1817  	var _threads XThreadset
  1818  	_err = XError{}
  1819  	_db = XSqlite{}
  1820  	_threads = XThreadset{}
  1821  	_opendb_x(tls, func() *XError {
  1822  		_err.XiLine = func() int32 {
  1823  			if _err.Xrc != 0 {
  1824  				return _err.XiLine
  1825  			}
  1826  			return int32(1107)
  1827  		}()
  1828  		return &_err
  1829  	}(), &_db, str(378), int32(1))
  1830  	_sql_script_x(tls, func() *XError {
  1831  		_err.XiLine = func() int32 {
  1832  			if _err.Xrc != 0 {
  1833  				return _err.XiLine
  1834  			}
  1835  			return int32(1108)
  1836  		}()
  1837  		return &_err
  1838  	}(), &_db, str(1521))
  1839  	_closedb_x(tls, func() *XError {
  1840  		_err.XiLine = func() int32 {
  1841  			if _err.Xrc != 0 {
  1842  				return _err.XiLine
  1843  			}
  1844  			return int32(1115)
  1845  		}()
  1846  		return &_err
  1847  	}(), &_db)
  1848  	_setstoptime_x(tls, func() *XError {
  1849  		_err.XiLine = func() int32 {
  1850  			if _err.Xrc != 0 {
  1851  				return _err.XiLine
  1852  			}
  1853  			return int32(1117)
  1854  		}()
  1855  		return &_err
  1856  	}(), _nMs)
  1857  	_i = int32(0)
  1858  _8:
  1859  	if _i >= int32(6) {
  1860  		goto _11
  1861  	}
  1862  	_launch_thread_x(tls, func() *XError {
  1863  		_err.XiLine = func() int32 {
  1864  			if _err.Xrc != 0 {
  1865  				return _err.XiLine
  1866  			}
  1867  			return int32(1119)
  1868  		}()
  1869  		return &_err
  1870  	}(), &_threads, _walthread3_thread, crt.U2P(uintptr(_i)))
  1871  	_i += 1
  1872  	goto _8
  1873  _11:
  1874  	_join_all_threads_x(tls, func() *XError {
  1875  		_err.XiLine = func() int32 {
  1876  			if _err.Xrc != 0 {
  1877  				return _err.XiLine
  1878  			}
  1879  			return int32(1121)
  1880  		}()
  1881  		return &_err
  1882  	}(), &_threads)
  1883  	_print_and_free_err(tls, &_err)
  1884  }
  1885  
  1886  func _walthread3_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1887  	var _iArg, _1_stop int32
  1888  	var _iNextWrite, _1_sum1, _1_sum2, _2_iMax int64
  1889  	var _err XError
  1890  	var _db XSqlite
  1891  	_err = XError{}
  1892  	_db = XSqlite{}
  1893  	_iArg = int32(crt.P2U(_pArg))
  1894  	_opendb_x(tls, func() *XError {
  1895  		_err.XiLine = func() int32 {
  1896  			if _err.Xrc != 0 {
  1897  				return _err.XiLine
  1898  			}
  1899  			return int32(1070)
  1900  		}()
  1901  		return &_err
  1902  	}(), &_db, str(378), int32(0))
  1903  	_sql_script_x(tls, func() *XError {
  1904  		_err.XiLine = func() int32 {
  1905  			if _err.Xrc != 0 {
  1906  				return _err.XiLine
  1907  			}
  1908  			return int32(1071)
  1909  		}()
  1910  		return &_err
  1911  	}(), &_db, str(1680))
  1912  	_iNextWrite = int64(_iArg + int32(1))
  1913  _4:
  1914  	_1_stop = int32(0)
  1915  _6:
  1916  	if int32(0) != store7(&_1_stop, _timetostop_x(tls, func() *XError {
  1917  		_err.XiLine = func() int32 {
  1918  			if _err.Xrc != 0 {
  1919  				return _err.XiLine
  1920  			}
  1921  			return int32(1079)
  1922  		}()
  1923  		return &_err
  1924  	}())) {
  1925  		goto _7
  1926  	}
  1927  	_2_iMax = _execsql_i64_x(tls, func() *XError {
  1928  		_err.XiLine = func() int32 {
  1929  			if _err.Xrc != 0 {
  1930  				return _err.XiLine
  1931  			}
  1932  			return int32(1080)
  1933  		}()
  1934  		return &_err
  1935  	}(), &_db, unsafe.Pointer(str(1711)))
  1936  	if (_2_iMax + int64(1)) == _iNextWrite {
  1937  		goto _7
  1938  	}
  1939  	goto _6
  1940  _7:
  1941  	if _1_stop != 0 {
  1942  		goto _5
  1943  	}
  1944  	_1_sum1 = _execsql_i64_x(tls, func() *XError {
  1945  		_err.XiLine = func() int32 {
  1946  			if _err.Xrc != 0 {
  1947  				return _err.XiLine
  1948  			}
  1949  			return int32(1085)
  1950  		}()
  1951  		return &_err
  1952  	}(), &_db, unsafe.Pointer(str(1735)))
  1953  	_1_sum2 = _execsql_i64_x(tls, func() *XError {
  1954  		_err.XiLine = func() int32 {
  1955  			if _err.Xrc != 0 {
  1956  				return _err.XiLine
  1957  			}
  1958  			return int32(1086)
  1959  		}()
  1960  		return &_err
  1961  	}(), &_db, unsafe.Pointer(str(1759)))
  1962  	_execsql_i64_x(tls, func() *XError {
  1963  		_err.XiLine = func() int32 {
  1964  			if _err.Xrc != 0 {
  1965  				return _err.XiLine
  1966  			}
  1967  			return int32(1087)
  1968  		}()
  1969  		return &_err
  1970  	}(), &_db, unsafe.Pointer(str(1784)), unsafe.Pointer(&_iNextWrite), unsafe.Pointer(&_1_sum1), unsafe.Pointer(&_1_sum2))
  1971  	_integrity_check_x(tls, func() *XError {
  1972  		_err.XiLine = func() int32 {
  1973  			if _err.Xrc != 0 {
  1974  				return _err.XiLine
  1975  			}
  1976  			return int32(1091)
  1977  		}()
  1978  		return &_err
  1979  	}(), &_db)
  1980  	_iNextWrite += int64(6)
  1981  	goto _4
  1982  _5:
  1983  	_closedb_x(tls, func() *XError {
  1984  		_err.XiLine = func() int32 {
  1985  			if _err.Xrc != 0 {
  1986  				return _err.XiLine
  1987  			}
  1988  			return int32(1096)
  1989  		}()
  1990  		return &_err
  1991  	}(), &_db)
  1992  	_print_and_free_err(tls, &_err)
  1993  	return nil
  1994  }
  1995  
  1996  func _walthread4(tls *crt.TLS, _nMs int32) {
  1997  	var _err XError
  1998  	var _db XSqlite
  1999  	var _threads XThreadset
  2000  	_err = XError{}
  2001  	_db = XSqlite{}
  2002  	_threads = XThreadset{}
  2003  	_opendb_x(tls, func() *XError {
  2004  		_err.XiLine = func() int32 {
  2005  			if _err.Xrc != 0 {
  2006  				return _err.XiLine
  2007  			}
  2008  			return int32(1165)
  2009  		}()
  2010  		return &_err
  2011  	}(), &_db, str(378), int32(1))
  2012  	_sql_script_x(tls, func() *XError {
  2013  		_err.XiLine = func() int32 {
  2014  			if _err.Xrc != 0 {
  2015  				return _err.XiLine
  2016  			}
  2017  			return int32(1166)
  2018  		}()
  2019  		return &_err
  2020  	}(), &_db, str(1835))
  2021  	_closedb_x(tls, func() *XError {
  2022  		_err.XiLine = func() int32 {
  2023  			if _err.Xrc != 0 {
  2024  				return _err.XiLine
  2025  			}
  2026  			return int32(1170)
  2027  		}()
  2028  		return &_err
  2029  	}(), &_db)
  2030  	_setstoptime_x(tls, func() *XError {
  2031  		_err.XiLine = func() int32 {
  2032  			if _err.Xrc != 0 {
  2033  				return _err.XiLine
  2034  			}
  2035  			return int32(1172)
  2036  		}()
  2037  		return &_err
  2038  	}(), _nMs)
  2039  	_launch_thread_x(tls, func() *XError {
  2040  		_err.XiLine = func() int32 {
  2041  			if _err.Xrc != 0 {
  2042  				return _err.XiLine
  2043  			}
  2044  			return int32(1173)
  2045  		}()
  2046  		return &_err
  2047  	}(), &_threads, _walthread4_reader_thread, nil)
  2048  	_launch_thread_x(tls, func() *XError {
  2049  		_err.XiLine = func() int32 {
  2050  			if _err.Xrc != 0 {
  2051  				return _err.XiLine
  2052  			}
  2053  			return int32(1174)
  2054  		}()
  2055  		return &_err
  2056  	}(), &_threads, _walthread4_writer_thread, nil)
  2057  	_join_all_threads_x(tls, func() *XError {
  2058  		_err.XiLine = func() int32 {
  2059  			if _err.Xrc != 0 {
  2060  				return _err.XiLine
  2061  			}
  2062  			return int32(1175)
  2063  		}()
  2064  		return &_err
  2065  	}(), &_threads)
  2066  	_print_and_free_err(tls, &_err)
  2067  }
  2068  
  2069  func _walthread4_reader_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2070  	var _err XError
  2071  	var _db XSqlite
  2072  	_err = XError{}
  2073  	_db = XSqlite{}
  2074  	_opendb_x(tls, func() *XError {
  2075  		_err.XiLine = func() int32 {
  2076  			if _err.Xrc != 0 {
  2077  				return _err.XiLine
  2078  			}
  2079  			return int32(1130)
  2080  		}()
  2081  		return &_err
  2082  	}(), &_db, str(378), int32(0))
  2083  _2:
  2084  	if _timetostop_x(tls, func() *XError {
  2085  		_err.XiLine = func() int32 {
  2086  			if _err.Xrc != 0 {
  2087  				return _err.XiLine
  2088  			}
  2089  			return int32(1131)
  2090  		}()
  2091  		return &_err
  2092  	}()) == 0 {
  2093  		_integrity_check_x(tls, func() *XError {
  2094  			_err.XiLine = func() int32 {
  2095  				if _err.Xrc != 0 {
  2096  					return _err.XiLine
  2097  				}
  2098  				return int32(1132)
  2099  			}()
  2100  			return &_err
  2101  		}(), &_db)
  2102  		goto _2
  2103  	}
  2104  	_closedb_x(tls, func() *XError {
  2105  		_err.XiLine = func() int32 {
  2106  			if _err.Xrc != 0 {
  2107  				return _err.XiLine
  2108  			}
  2109  			return int32(1134)
  2110  		}()
  2111  		return &_err
  2112  	}(), &_db)
  2113  	_print_and_free_err(tls, &_err)
  2114  	return nil
  2115  }
  2116  
  2117  func _walthread4_writer_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2118  	var _iRow int64
  2119  	var _err XError
  2120  	var _db XSqlite
  2121  	_err = XError{}
  2122  	_db = XSqlite{}
  2123  	_iRow = int64(1)
  2124  	_opendb_x(tls, func() *XError {
  2125  		_err.XiLine = func() int32 {
  2126  			if _err.Xrc != 0 {
  2127  				return _err.XiLine
  2128  			}
  2129  			return int32(1145)
  2130  		}()
  2131  		return &_err
  2132  	}(), &_db, str(378), int32(0))
  2133  	_sql_script_x(tls, func() *XError {
  2134  		_err.XiLine = func() int32 {
  2135  			if _err.Xrc != 0 {
  2136  				return _err.XiLine
  2137  			}
  2138  			return int32(1146)
  2139  		}()
  2140  		return &_err
  2141  	}(), &_db, str(1911))
  2142  _4:
  2143  	if _timetostop_x(tls, func() *XError {
  2144  		_err.XiLine = func() int32 {
  2145  			if _err.Xrc != 0 {
  2146  				return _err.XiLine
  2147  			}
  2148  			return int32(1147)
  2149  		}()
  2150  		return &_err
  2151  	}()) != 0 {
  2152  		goto _5
  2153  	}
  2154  	_execsql_i64_x(tls, func() *XError {
  2155  		_err.XiLine = func() int32 {
  2156  			if _err.Xrc != 0 {
  2157  				return _err.XiLine
  2158  			}
  2159  			return int32(1148)
  2160  		}()
  2161  		return &_err
  2162  	}(), &_db, unsafe.Pointer(str(1943)), unsafe.Pointer(&_iRow))
  2163  	_iRow += 1
  2164  	if _iRow == int64(10) {
  2165  		_iRow = 0
  2166  	}
  2167  	goto _4
  2168  _5:
  2169  	_closedb_x(tls, func() *XError {
  2170  		_err.XiLine = func() int32 {
  2171  			if _err.Xrc != 0 {
  2172  				return _err.XiLine
  2173  			}
  2174  			return int32(1154)
  2175  		}()
  2176  		return &_err
  2177  	}(), &_db)
  2178  	_print_and_free_err(tls, &_err)
  2179  	return nil
  2180  }
  2181  
  2182  func _walthread5(tls *crt.TLS, _nMs int32) {
  2183  	var _err XError
  2184  	var _db XSqlite
  2185  	var _threads XThreadset
  2186  	_err = XError{}
  2187  	_db = XSqlite{}
  2188  	_threads = XThreadset{}
  2189  	_opendb_x(tls, func() *XError {
  2190  		_err.XiLine = func() int32 {
  2191  			if _err.Xrc != 0 {
  2192  				return _err.XiLine
  2193  			}
  2194  			return int32(1198)
  2195  		}()
  2196  		return &_err
  2197  	}(), &_db, str(378), int32(1))
  2198  	_sql_script_x(tls, func() *XError {
  2199  		_err.XiLine = func() int32 {
  2200  			if _err.Xrc != 0 {
  2201  				return _err.XiLine
  2202  			}
  2203  			return int32(1199)
  2204  		}()
  2205  		return &_err
  2206  	}(), &_db, str(1990))
  2207  	_filecopy_x(tls, func() *XError {
  2208  		_err.XiLine = func() int32 {
  2209  			if _err.Xrc != 0 {
  2210  				return _err.XiLine
  2211  			}
  2212  			return int32(1224)
  2213  		}()
  2214  		return &_err
  2215  	}(), str(378), str(3150))
  2216  	_filecopy_x(tls, func() *XError {
  2217  		_err.XiLine = func() int32 {
  2218  			if _err.Xrc != 0 {
  2219  				return _err.XiLine
  2220  			}
  2221  			return int32(1225)
  2222  		}()
  2223  		return &_err
  2224  	}(), str(1462), str(3161))
  2225  	_closedb_x(tls, func() *XError {
  2226  		_err.XiLine = func() int32 {
  2227  			if _err.Xrc != 0 {
  2228  				return _err.XiLine
  2229  			}
  2230  			return int32(1226)
  2231  		}()
  2232  		return &_err
  2233  	}(), &_db)
  2234  	_filecopy_x(tls, func() *XError {
  2235  		_err.XiLine = func() int32 {
  2236  			if _err.Xrc != 0 {
  2237  				return _err.XiLine
  2238  			}
  2239  			return int32(1228)
  2240  		}()
  2241  		return &_err
  2242  	}(), str(3150), str(378))
  2243  	_filecopy_x(tls, func() *XError {
  2244  		_err.XiLine = func() int32 {
  2245  			if _err.Xrc != 0 {
  2246  				return _err.XiLine
  2247  			}
  2248  			return int32(1229)
  2249  		}()
  2250  		return &_err
  2251  	}(), str(3161), str(1462))
  2252  	if _err.Xrc == int32(0) {
  2253  		crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError {
  2254  			_err.XiLine = func() int32 {
  2255  				if _err.Xrc != 0 {
  2256  					return _err.XiLine
  2257  				}
  2258  				return int32(1232)
  2259  			}()
  2260  			return &_err
  2261  		}(), str(1462))))
  2262  		crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError {
  2263  			_err.XiLine = func() int32 {
  2264  				if _err.Xrc != 0 {
  2265  					return _err.XiLine
  2266  				}
  2267  				return int32(1233)
  2268  			}()
  2269  			return &_err
  2270  		}(), str(378))))
  2271  	}
  2272  	_setstoptime_x(tls, func() *XError {
  2273  		_err.XiLine = func() int32 {
  2274  			if _err.Xrc != 0 {
  2275  				return _err.XiLine
  2276  			}
  2277  			return int32(1236)
  2278  		}()
  2279  		return &_err
  2280  	}(), _nMs)
  2281  	_launch_thread_x(tls, func() *XError {
  2282  		_err.XiLine = func() int32 {
  2283  			if _err.Xrc != 0 {
  2284  				return _err.XiLine
  2285  			}
  2286  			return int32(1237)
  2287  		}()
  2288  		return &_err
  2289  	}(), &_threads, _walthread5_thread, nil)
  2290  	_launch_thread_x(tls, func() *XError {
  2291  		_err.XiLine = func() int32 {
  2292  			if _err.Xrc != 0 {
  2293  				return _err.XiLine
  2294  			}
  2295  			return int32(1238)
  2296  		}()
  2297  		return &_err
  2298  	}(), &_threads, _walthread5_thread, nil)
  2299  	_launch_thread_x(tls, func() *XError {
  2300  		_err.XiLine = func() int32 {
  2301  			if _err.Xrc != 0 {
  2302  				return _err.XiLine
  2303  			}
  2304  			return int32(1239)
  2305  		}()
  2306  		return &_err
  2307  	}(), &_threads, _walthread5_thread, nil)
  2308  	_launch_thread_x(tls, func() *XError {
  2309  		_err.XiLine = func() int32 {
  2310  			if _err.Xrc != 0 {
  2311  				return _err.XiLine
  2312  			}
  2313  			return int32(1240)
  2314  		}()
  2315  		return &_err
  2316  	}(), &_threads, _walthread5_thread, nil)
  2317  	_launch_thread_x(tls, func() *XError {
  2318  		_err.XiLine = func() int32 {
  2319  			if _err.Xrc != 0 {
  2320  				return _err.XiLine
  2321  			}
  2322  			return int32(1241)
  2323  		}()
  2324  		return &_err
  2325  	}(), &_threads, _walthread5_thread, nil)
  2326  	_join_all_threads_x(tls, func() *XError {
  2327  		_err.XiLine = func() int32 {
  2328  			if _err.Xrc != 0 {
  2329  				return _err.XiLine
  2330  			}
  2331  			return int32(1242)
  2332  		}()
  2333  		return &_err
  2334  	}(), &_threads)
  2335  	if _err.Xrc == int32(0) {
  2336  		crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError {
  2337  			_err.XiLine = func() int32 {
  2338  				if _err.Xrc != 0 {
  2339  					return _err.XiLine
  2340  				}
  2341  				return int32(1245)
  2342  			}()
  2343  			return &_err
  2344  		}(), str(1462))))
  2345  		crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError {
  2346  			_err.XiLine = func() int32 {
  2347  				if _err.Xrc != 0 {
  2348  					return _err.XiLine
  2349  				}
  2350  				return int32(1246)
  2351  			}()
  2352  			return &_err
  2353  		}(), str(378))))
  2354  	}
  2355  	_print_and_free_err(tls, &_err)
  2356  }
  2357  
  2358  func _filecopy_x(tls *crt.TLS, _pErr *XError, _zFrom *int8, _zTo *int8) {
  2359  	var _3_fd1, _3_fd2, _6_nCopy int32
  2360  	var _1_nByte, _3_iOff int64
  2361  	var _3_aBuf [1024]int8
  2362  	if _pErr.Xrc != int32(0) {
  2363  		goto _0
  2364  	}
  2365  	_1_nByte = _filesize_x(tls, _pErr, _zFrom)
  2366  	if _1_nByte < (0) {
  2367  		_test_error_x(tls, _pErr, bin.Xsqlite3_mprintf(tls, str(3217), unsafe.Pointer(_zFrom)))
  2368  		goto _2
  2369  	}
  2370  	crt.Xunlink(tls, _zTo)
  2371  	_3_fd1 = crt.Xopen64(tls, _zFrom, int32(0))
  2372  	if _3_fd1 < int32(0) {
  2373  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2374  		return
  2375  	}
  2376  	_3_fd2 = crt.Xopen64(tls, _zTo, int32(194), int32(420))
  2377  	if _3_fd2 < int32(0) {
  2378  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2379  		crt.Xclose(tls, _3_fd1)
  2380  		return
  2381  	}
  2382  	_3_iOff = 0
  2383  _5:
  2384  	if _3_iOff >= _1_nByte {
  2385  		goto _6
  2386  	}
  2387  	_6_nCopy = int32(1024)
  2388  	if (int64(_6_nCopy) + _3_iOff) > _1_nByte {
  2389  		_6_nCopy = int32(_1_nByte - _3_iOff)
  2390  	}
  2391  	if _6_nCopy != crt.Xread(tls, _3_fd1, unsafe.Pointer(&_3_aBuf), uint32(_6_nCopy)) {
  2392  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2393  		goto _6
  2394  	}
  2395  	if _6_nCopy != crt.Xwrite(tls, _3_fd2, unsafe.Pointer(&_3_aBuf), uint32(_6_nCopy)) {
  2396  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2397  		goto _6
  2398  	}
  2399  	_3_iOff += int64(_6_nCopy)
  2400  	goto _5
  2401  _6:
  2402  	crt.Xclose(tls, _3_fd1)
  2403  	crt.Xclose(tls, _3_fd2)
  2404  _2:
  2405  _0:
  2406  	_ = _3_aBuf
  2407  }
  2408  
  2409  func _walthread5_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2410  	var _nRow int64
  2411  	var _err XError
  2412  	var _db XSqlite
  2413  	_err = XError{}
  2414  	_db = XSqlite{}
  2415  	_opendb_x(tls, func() *XError {
  2416  		_err.XiLine = func() int32 {
  2417  			if _err.Xrc != 0 {
  2418  				return _err.XiLine
  2419  			}
  2420  			return int32(1185)
  2421  		}()
  2422  		return &_err
  2423  	}(), &_db, str(378), int32(0))
  2424  	_nRow = _execsql_i64_x(tls, func() *XError {
  2425  		_err.XiLine = func() int32 {
  2426  			if _err.Xrc != 0 {
  2427  				return _err.XiLine
  2428  			}
  2429  			return int32(1186)
  2430  		}()
  2431  		return &_err
  2432  	}(), &_db, unsafe.Pointer(str(3234)))
  2433  	_closedb_x(tls, func() *XError {
  2434  		_err.XiLine = func() int32 {
  2435  			if _err.Xrc != 0 {
  2436  				return _err.XiLine
  2437  			}
  2438  			return int32(1187)
  2439  		}()
  2440  		return &_err
  2441  	}(), &_db)
  2442  	if _nRow != int64(65536) {
  2443  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(3258), int32(_nRow)))
  2444  	}
  2445  	_print_and_free_err(tls, &_err)
  2446  	return nil
  2447  }
  2448  
  2449  func _cgt_pager_1(tls *crt.TLS, _nMs int32) {
  2450  	var _err XError
  2451  	var _db XSqlite
  2452  	var _xSub func(*crt.TLS, *XError, *XSqlite)
  2453  	_err = XError{}
  2454  	_db = XSqlite{}
  2455  	_opendb_x(tls, func() *XError {
  2456  		_err.XiLine = func() int32 {
  2457  			if _err.Xrc != 0 {
  2458  				return _err.XiLine
  2459  			}
  2460  			return int32(1289)
  2461  		}()
  2462  		return &_err
  2463  	}(), &_db, str(378), int32(1))
  2464  	_sql_script_x(tls, func() *XError {
  2465  		_err.XiLine = func() int32 {
  2466  			if _err.Xrc != 0 {
  2467  				return _err.XiLine
  2468  			}
  2469  			return int32(1290)
  2470  		}()
  2471  		return &_err
  2472  	}(), &_db, str(3276))
  2473  	_xSub = _cgt_pager_1_populate
  2474  	_xSub(tls, &_err, &_db)
  2475  	_xSub = _cgt_pager_1_update
  2476  	_xSub(tls, &_err, &_db)
  2477  	_xSub = _cgt_pager_1_read
  2478  	_xSub(tls, &_err, &_db)
  2479  	_closedb_x(tls, func() *XError {
  2480  		_err.XiLine = func() int32 {
  2481  			if _err.Xrc != 0 {
  2482  				return _err.XiLine
  2483  			}
  2484  			return int32(1300)
  2485  		}()
  2486  		return &_err
  2487  	}(), &_db)
  2488  	_print_and_free_err(tls, &_err)
  2489  }
  2490  
  2491  func _cgt_pager_1_populate(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  2492  	var _iRow, _1_iBlob int64
  2493  	var _zInsert *int8
  2494  	_zInsert = str(3373)
  2495  	_sql_script_x(tls, func() *XError {
  2496  		_pErr.XiLine = func() int32 {
  2497  			if _pErr.Xrc != 0 {
  2498  				return _pErr.XiLine
  2499  			}
  2500  			return int32(1259)
  2501  		}()
  2502  		return _pErr
  2503  	}(), _pDb, str(767))
  2504  	_iRow = int64(1)
  2505  _2:
  2506  	if _iRow > int64(10000) {
  2507  		goto _5
  2508  	}
  2509  	_1_iBlob = int64(600) + (_iRow % int64(300))
  2510  	_execsql_i64_x(tls, func() *XError {
  2511  		_pErr.XiLine = func() int32 {
  2512  			if _pErr.Xrc != 0 {
  2513  				return _pErr.XiLine
  2514  			}
  2515  			return int32(1262)
  2516  		}()
  2517  		return _pErr
  2518  	}(), _pDb, unsafe.Pointer(_zInsert), unsafe.Pointer(&_iRow), unsafe.Pointer(&_1_iBlob))
  2519  	_iRow += 1
  2520  	goto _2
  2521  _5:
  2522  	_sql_script_x(tls, func() *XError {
  2523  		_pErr.XiLine = func() int32 {
  2524  			if _pErr.Xrc != 0 {
  2525  				return _pErr.XiLine
  2526  			}
  2527  			return int32(1264)
  2528  		}()
  2529  		return _pErr
  2530  	}(), _pDb, str(773))
  2531  }
  2532  
  2533  func _cgt_pager_1_update(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  2534  	var _iRow, _1_iBlob int64
  2535  	var _zUpdate *int8
  2536  	_zUpdate = str(3420)
  2537  	_sql_script_x(tls, func() *XError {
  2538  		_pErr.XiLine = func() int32 {
  2539  			if _pErr.Xrc != 0 {
  2540  				return _pErr.XiLine
  2541  			}
  2542  			return int32(1269)
  2543  		}()
  2544  		return _pErr
  2545  	}(), _pDb, str(767))
  2546  	_iRow = int64(1)
  2547  _2:
  2548  	if _iRow > int64(10000) {
  2549  		goto _5
  2550  	}
  2551  	_1_iBlob = int64(600) + ((_iRow + int64(100)) % int64(300))
  2552  	_execsql_i64_x(tls, func() *XError {
  2553  		_pErr.XiLine = func() int32 {
  2554  			if _pErr.Xrc != 0 {
  2555  				return _pErr.XiLine
  2556  			}
  2557  			return int32(1272)
  2558  		}()
  2559  		return _pErr
  2560  	}(), _pDb, unsafe.Pointer(_zUpdate), unsafe.Pointer(&_1_iBlob), unsafe.Pointer(&_iRow))
  2561  	_iRow += 1
  2562  	goto _2
  2563  _5:
  2564  	_sql_script_x(tls, func() *XError {
  2565  		_pErr.XiLine = func() int32 {
  2566  			if _pErr.Xrc != 0 {
  2567  				return _pErr.XiLine
  2568  			}
  2569  			return int32(1274)
  2570  		}()
  2571  		return _pErr
  2572  	}(), _pDb, str(773))
  2573  }
  2574  
  2575  func _cgt_pager_1_read(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  2576  	var _iRow int64
  2577  	_sql_script_x(tls, func() *XError {
  2578  		_pErr.XiLine = func() int32 {
  2579  			if _pErr.Xrc != 0 {
  2580  				return _pErr.XiLine
  2581  			}
  2582  			return int32(1278)
  2583  		}()
  2584  		return _pErr
  2585  	}(), _pDb, str(767))
  2586  	_iRow = int64(1)
  2587  _2:
  2588  	if _iRow > int64(10000) {
  2589  		goto _5
  2590  	}
  2591  	_execsql_i64_x(tls, func() *XError {
  2592  		_pErr.XiLine = func() int32 {
  2593  			if _pErr.Xrc != 0 {
  2594  				return _pErr.XiLine
  2595  			}
  2596  			return int32(1280)
  2597  		}()
  2598  		return _pErr
  2599  	}(), _pDb, unsafe.Pointer(str(3471)), unsafe.Pointer(&_iRow))
  2600  	_iRow += 1
  2601  	goto _2
  2602  _5:
  2603  	_sql_script_x(tls, func() *XError {
  2604  		_pErr.XiLine = func() int32 {
  2605  			if _pErr.Xrc != 0 {
  2606  				return _pErr.XiLine
  2607  			}
  2608  			return int32(1282)
  2609  		}()
  2610  		return _pErr
  2611  	}(), _pDb, str(773))
  2612  }
  2613  
  2614  func _dynamic_triggers(tls *crt.TLS, _nMs int32) {
  2615  	var _err XError
  2616  	var _db XSqlite
  2617  	var _threads XThreadset
  2618  	_err = XError{}
  2619  	_db = XSqlite{}
  2620  	_threads = XThreadset{}
  2621  	_opendb_x(tls, func() *XError {
  2622  		_err.XiLine = func() int32 {
  2623  			if _err.Xrc != 0 {
  2624  				return _err.XiLine
  2625  			}
  2626  			return int32(1396)
  2627  		}()
  2628  		return &_err
  2629  	}(), &_db, str(378), int32(1))
  2630  	_sql_script_x(tls, func() *XError {
  2631  		_err.XiLine = func() int32 {
  2632  			if _err.Xrc != 0 {
  2633  				return _err.XiLine
  2634  			}
  2635  			return int32(1397)
  2636  		}()
  2637  		return &_err
  2638  	}(), &_db, str(3504))
  2639  	_closedb_x(tls, func() *XError {
  2640  		_err.XiLine = func() int32 {
  2641  			if _err.Xrc != 0 {
  2642  				return _err.XiLine
  2643  			}
  2644  			return int32(1410)
  2645  		}()
  2646  		return &_err
  2647  	}(), &_db)
  2648  	_setstoptime_x(tls, func() *XError {
  2649  		_err.XiLine = func() int32 {
  2650  			if _err.Xrc != 0 {
  2651  				return _err.XiLine
  2652  			}
  2653  			return int32(1412)
  2654  		}()
  2655  		return &_err
  2656  	}(), _nMs)
  2657  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  2658  	_launch_thread_x(tls, func() *XError {
  2659  		_err.XiLine = func() int32 {
  2660  			if _err.Xrc != 0 {
  2661  				return _err.XiLine
  2662  			}
  2663  			return int32(1415)
  2664  		}()
  2665  		return &_err
  2666  	}(), &_threads, _dynamic_triggers_2, nil)
  2667  	_launch_thread_x(tls, func() *XError {
  2668  		_err.XiLine = func() int32 {
  2669  			if _err.Xrc != 0 {
  2670  				return _err.XiLine
  2671  			}
  2672  			return int32(1416)
  2673  		}()
  2674  		return &_err
  2675  	}(), &_threads, _dynamic_triggers_2, nil)
  2676  	crt.Xsleep(tls, uint32(2))
  2677  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  2678  	_launch_thread_x(tls, func() *XError {
  2679  		_err.XiLine = func() int32 {
  2680  			if _err.Xrc != 0 {
  2681  				return _err.XiLine
  2682  			}
  2683  			return int32(1421)
  2684  		}()
  2685  		return &_err
  2686  	}(), &_threads, _dynamic_triggers_2, nil)
  2687  	_launch_thread_x(tls, func() *XError {
  2688  		_err.XiLine = func() int32 {
  2689  			if _err.Xrc != 0 {
  2690  				return _err.XiLine
  2691  			}
  2692  			return int32(1422)
  2693  		}()
  2694  		return &_err
  2695  	}(), &_threads, _dynamic_triggers_1, nil)
  2696  	_join_all_threads_x(tls, func() *XError {
  2697  		_err.XiLine = func() int32 {
  2698  			if _err.Xrc != 0 {
  2699  				return _err.XiLine
  2700  			}
  2701  			return int32(1424)
  2702  		}()
  2703  		return &_err
  2704  	}(), &_threads)
  2705  	_print_and_free_err(tls, &_err)
  2706  }
  2707  
  2708  func _dynamic_triggers_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2709  	var _nInsert, _nDelete int32
  2710  	var _iVal int64
  2711  	var _err XError
  2712  	var _db XSqlite
  2713  	_err = XError{}
  2714  	_db = XSqlite{}
  2715  	_iVal = int64(0)
  2716  	_nInsert = int32(0)
  2717  	_nDelete = int32(0)
  2718  	_opendb_x(tls, func() *XError {
  2719  		_err.XiLine = func() int32 {
  2720  			if _err.Xrc != 0 {
  2721  				return _err.XiLine
  2722  			}
  2723  			return int32(1371)
  2724  		}()
  2725  		return &_err
  2726  	}(), &_db, str(378), int32(0))
  2727  _2:
  2728  	if _timetostop_x(tls, func() *XError {
  2729  		_err.XiLine = func() int32 {
  2730  			if _err.Xrc != 0 {
  2731  				return _err.XiLine
  2732  			}
  2733  			return int32(1372)
  2734  		}()
  2735  		return &_err
  2736  	}()) != 0 {
  2737  		goto _3
  2738  	}
  2739  _6:
  2740  	_iVal = (_iVal + int64(1)) % int64(100)
  2741  	_execsql_i64_x(tls, func() *XError {
  2742  		_err.XiLine = func() int32 {
  2743  			if _err.Xrc != 0 {
  2744  				return _err.XiLine
  2745  			}
  2746  			return int32(1375)
  2747  		}()
  2748  		return &_err
  2749  	}(), &_db, unsafe.Pointer(str(3753)), unsafe.Pointer(&_iVal), unsafe.Pointer(&_iVal))
  2750  	_nInsert += 1
  2751  	if _iVal != 0 {
  2752  		goto _6
  2753  	}
  2754  _9:
  2755  	_iVal = (_iVal + int64(1)) % int64(100)
  2756  	_execsql_i64_x(tls, func() *XError {
  2757  		_err.XiLine = func() int32 {
  2758  			if _err.Xrc != 0 {
  2759  				return _err.XiLine
  2760  			}
  2761  			return int32(1381)
  2762  		}()
  2763  		return &_err
  2764  	}(), &_db, unsafe.Pointer(str(3787)), unsafe.Pointer(&_iVal))
  2765  	_nDelete += 1
  2766  	if _iVal != 0 {
  2767  		goto _9
  2768  	}
  2769  	goto _2
  2770  _3:
  2771  	_closedb_x(tls, func() *XError {
  2772  		_err.XiLine = func() int32 {
  2773  			if _err.Xrc != 0 {
  2774  				return _err.XiLine
  2775  			}
  2776  			return int32(1385)
  2777  		}()
  2778  		return &_err
  2779  	}(), &_db)
  2780  	_print_and_free_err(tls, &_err)
  2781  	return bin.Xsqlite3_mprintf(tls, str(3816), _nInsert, _nDelete)
  2782  }
  2783  
  2784  func _dynamic_triggers_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2785  	var _nDrop, _nCreate, _1_i int32
  2786  	var _2_zSql, _3_zSql, _4_zSql, _5_zSql *int8
  2787  	var _err XError
  2788  	var _db XSqlite
  2789  	_err = XError{}
  2790  	_db = XSqlite{}
  2791  	_nDrop = int32(0)
  2792  	_nCreate = int32(0)
  2793  	_opendb_x(tls, func() *XError {
  2794  		_err.XiLine = func() int32 {
  2795  			if _err.Xrc != 0 {
  2796  				return _err.XiLine
  2797  			}
  2798  			return int32(1318)
  2799  		}()
  2800  		return &_err
  2801  	}(), &_db, str(378), int32(0))
  2802  _2:
  2803  	if _timetostop_x(tls, func() *XError {
  2804  		_err.XiLine = func() int32 {
  2805  			if _err.Xrc != 0 {
  2806  				return _err.XiLine
  2807  			}
  2808  			return int32(1319)
  2809  		}()
  2810  		return &_err
  2811  	}()) != 0 {
  2812  		goto _3
  2813  	}
  2814  	_1_i = int32(1)
  2815  _6:
  2816  	if _1_i >= int32(9) {
  2817  		goto _9
  2818  	}
  2819  	_2_zSql = bin.Xsqlite3_mprintf(tls, str(3839), _1_i, _1_i, _1_i+int32(1))
  2820  	_execsql_i64_x(tls, func() *XError {
  2821  		_err.XiLine = func() int32 {
  2822  			if _err.Xrc != 0 {
  2823  				return _err.XiLine
  2824  			}
  2825  			return int32(1328)
  2826  		}()
  2827  		return &_err
  2828  	}(), &_db, unsafe.Pointer(_2_zSql))
  2829  	bin.Xsqlite3_free(tls, unsafe.Pointer(_2_zSql))
  2830  	_nCreate += 1
  2831  	_1_i += 1
  2832  	goto _6
  2833  _9:
  2834  	_1_i = int32(1)
  2835  _12:
  2836  	if _1_i >= int32(9) {
  2837  		goto _15
  2838  	}
  2839  	_3_zSql = bin.Xsqlite3_mprintf(tls, str(3929), _1_i, _1_i, _1_i+int32(1))
  2840  	_execsql_i64_x(tls, func() *XError {
  2841  		_err.XiLine = func() int32 {
  2842  			if _err.Xrc != 0 {
  2843  				return _err.XiLine
  2844  			}
  2845  			return int32(1339)
  2846  		}()
  2847  		return &_err
  2848  	}(), &_db, unsafe.Pointer(_3_zSql))
  2849  	bin.Xsqlite3_free(tls, unsafe.Pointer(_3_zSql))
  2850  	_nCreate += 1
  2851  	_1_i += 1
  2852  	goto _12
  2853  _15:
  2854  	_1_i = int32(1)
  2855  _18:
  2856  	if _1_i >= int32(9) {
  2857  		goto _21
  2858  	}
  2859  	_4_zSql = bin.Xsqlite3_mprintf(tls, str(4015), _1_i)
  2860  	_execsql_i64_x(tls, func() *XError {
  2861  		_err.XiLine = func() int32 {
  2862  			if _err.Xrc != 0 {
  2863  				return _err.XiLine
  2864  			}
  2865  			return int32(1346)
  2866  		}()
  2867  		return &_err
  2868  	}(), &_db, unsafe.Pointer(_4_zSql))
  2869  	bin.Xsqlite3_free(tls, unsafe.Pointer(_4_zSql))
  2870  	_nDrop += 1
  2871  	_1_i += 1
  2872  	goto _18
  2873  _21:
  2874  	_1_i = int32(1)
  2875  _24:
  2876  	if _1_i >= int32(9) {
  2877  		goto _27
  2878  	}
  2879  	_5_zSql = bin.Xsqlite3_mprintf(tls, str(4034), _1_i)
  2880  	_execsql_i64_x(tls, func() *XError {
  2881  		_err.XiLine = func() int32 {
  2882  			if _err.Xrc != 0 {
  2883  				return _err.XiLine
  2884  			}
  2885  			return int32(1353)
  2886  		}()
  2887  		return &_err
  2888  	}(), &_db, unsafe.Pointer(_5_zSql))
  2889  	bin.Xsqlite3_free(tls, unsafe.Pointer(_5_zSql))
  2890  	_nDrop += 1
  2891  	_1_i += 1
  2892  	goto _24
  2893  _27:
  2894  	goto _2
  2895  _3:
  2896  	_closedb_x(tls, func() *XError {
  2897  		_err.XiLine = func() int32 {
  2898  			if _err.Xrc != 0 {
  2899  				return _err.XiLine
  2900  			}
  2901  			return int32(1358)
  2902  		}()
  2903  		return &_err
  2904  	}(), &_db)
  2905  	_print_and_free_err(tls, &_err)
  2906  	return bin.Xsqlite3_mprintf(tls, str(4053), _nCreate, _nDrop)
  2907  }
  2908  
  2909  func _checkpoint_starvation_1(tls *crt.TLS, _nMs int32) {
  2910  	var _err XError
  2911  	var _ctx XCheckpointStarvationCtx
  2912  	_err = XError{}
  2913  	_ctx = XCheckpointStarvationCtx{}
  2914  	_checkpoint_starvation_main(tls, _nMs, &_ctx)
  2915  	if _ctx.XnMaxFrame < int32(500) {
  2916  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4076), _ctx.XnMaxFrame))
  2917  	}
  2918  	_print_and_free_err(tls, &_err)
  2919  }
  2920  
  2921  func _checkpoint_starvation_main(tls *crt.TLS, _nMs int32, _p *XCheckpointStarvationCtx) {
  2922  	var _nInsert, _i int32
  2923  	var _err XError
  2924  	var _db XSqlite
  2925  	var _threads XThreadset
  2926  	_err = XError{}
  2927  	_db = XSqlite{}
  2928  	_threads = XThreadset{}
  2929  	_nInsert = int32(0)
  2930  	_opendb_x(tls, func() *XError {
  2931  		_err.XiLine = func() int32 {
  2932  			if _err.Xrc != 0 {
  2933  				return _err.XiLine
  2934  			}
  2935  			return int32(99)
  2936  		}()
  2937  		return &_err
  2938  	}(), &_db, str(378), int32(1))
  2939  	_sql_script_x(tls, func() *XError {
  2940  		_err.XiLine = func() int32 {
  2941  			if _err.Xrc != 0 {
  2942  				return _err.XiLine
  2943  			}
  2944  			return int32(100)
  2945  		}()
  2946  		return &_err
  2947  	}(), &_db, str(4107))
  2948  	_setstoptime_x(tls, func() *XError {
  2949  		_err.XiLine = func() int32 {
  2950  			if _err.Xrc != 0 {
  2951  				return _err.XiLine
  2952  			}
  2953  			return int32(106)
  2954  		}()
  2955  		return &_err
  2956  	}(), _nMs)
  2957  	_i = int32(0)
  2958  _6:
  2959  	if _i >= int32(4) {
  2960  		goto _9
  2961  	}
  2962  	_launch_thread_x(tls, func() *XError {
  2963  		_err.XiLine = func() int32 {
  2964  			if _err.Xrc != 0 {
  2965  				return _err.XiLine
  2966  			}
  2967  			return int32(109)
  2968  		}()
  2969  		return &_err
  2970  	}(), &_threads, _checkpoint_starvation_reader, nil)
  2971  	crt.Xusleep(tls, uint32(25000))
  2972  	_i += 1
  2973  	goto _6
  2974  _9:
  2975  	bin.Xsqlite3_wal_hook(tls, (*bin.Xsqlite3)(_db.Xdb), func() func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32 {
  2976  		v := _checkpoint_starvation_walhook
  2977  		return *(*func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&v))
  2978  	}(), unsafe.Pointer(_p))
  2979  _12:
  2980  	if _timetostop_x(tls, func() *XError {
  2981  		_err.XiLine = func() int32 {
  2982  			if _err.Xrc != 0 {
  2983  				return _err.XiLine
  2984  			}
  2985  			return int32(114)
  2986  		}()
  2987  		return &_err
  2988  	}()) == 0 {
  2989  		_sql_script_x(tls, func() *XError {
  2990  			_err.XiLine = func() int32 {
  2991  				if _err.Xrc != 0 {
  2992  					return _err.XiLine
  2993  				}
  2994  				return int32(115)
  2995  			}()
  2996  			return &_err
  2997  		}(), &_db, str(4177))
  2998  		_nInsert += 1
  2999  		goto _12
  3000  	}
  3001  	crt.Xprintf(tls, str(4217), unsafe.Pointer(func() *int8 {
  3002  		if _p.XeMode == int32(0) {
  3003  			return str(4241)
  3004  		}
  3005  		return str(4249)
  3006  	}()))
  3007  	crt.Xprintf(tls, str(4257), _p.XnMaxFrame)
  3008  	crt.Xprintf(tls, str(4288), _nInsert)
  3009  	_join_all_threads_x(tls, func() *XError {
  3010  		_err.XiLine = func() int32 {
  3011  			if _err.Xrc != 0 {
  3012  				return _err.XiLine
  3013  			}
  3014  			return int32(125)
  3015  		}()
  3016  		return &_err
  3017  	}(), &_threads)
  3018  	_closedb_x(tls, func() *XError {
  3019  		_err.XiLine = func() int32 {
  3020  			if _err.Xrc != 0 {
  3021  				return _err.XiLine
  3022  			}
  3023  			return int32(126)
  3024  		}()
  3025  		return &_err
  3026  	}(), &_db)
  3027  	_print_and_free_err(tls, &_err)
  3028  }
  3029  
  3030  func _checkpoint_starvation_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3031  	var _1_iCount1, _1_iCount2 int64
  3032  	var _err XError
  3033  	var _db XSqlite
  3034  	_err = XError{}
  3035  	_db = XSqlite{}
  3036  	_opendb_x(tls, func() *XError {
  3037  		_err.XiLine = func() int32 {
  3038  			if _err.Xrc != 0 {
  3039  				return _err.XiLine
  3040  			}
  3041  			return int32(73)
  3042  		}()
  3043  		return &_err
  3044  	}(), &_db, str(378), int32(0))
  3045  _2:
  3046  	if _timetostop_x(tls, func() *XError {
  3047  		_err.XiLine = func() int32 {
  3048  			if _err.Xrc != 0 {
  3049  				return _err.XiLine
  3050  			}
  3051  			return int32(74)
  3052  		}()
  3053  		return &_err
  3054  	}()) != 0 {
  3055  		goto _3
  3056  	}
  3057  	_sql_script_x(tls, func() *XError {
  3058  		_err.XiLine = func() int32 {
  3059  			if _err.Xrc != 0 {
  3060  				return _err.XiLine
  3061  			}
  3062  			return int32(76)
  3063  		}()
  3064  		return &_err
  3065  	}(), &_db, str(767))
  3066  	_1_iCount1 = _execsql_i64_x(tls, func() *XError {
  3067  		_err.XiLine = func() int32 {
  3068  			if _err.Xrc != 0 {
  3069  				return _err.XiLine
  3070  			}
  3071  			return int32(77)
  3072  		}()
  3073  		return &_err
  3074  	}(), &_db, unsafe.Pointer(str(4325)))
  3075  	crt.Xusleep(tls, uint32(100000))
  3076  	_1_iCount2 = _execsql_i64_x(tls, func() *XError {
  3077  		_err.XiLine = func() int32 {
  3078  			if _err.Xrc != 0 {
  3079  				return _err.XiLine
  3080  			}
  3081  			return int32(79)
  3082  		}()
  3083  		return &_err
  3084  	}(), &_db, unsafe.Pointer(str(4325)))
  3085  	_sql_script_x(tls, func() *XError {
  3086  		_err.XiLine = func() int32 {
  3087  			if _err.Xrc != 0 {
  3088  				return _err.XiLine
  3089  			}
  3090  			return int32(80)
  3091  		}()
  3092  		return &_err
  3093  	}(), &_db, str(773))
  3094  	if _1_iCount1 != _1_iCount2 {
  3095  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4349), _1_iCount1, _1_iCount2))
  3096  	}
  3097  	goto _2
  3098  _3:
  3099  	_closedb_x(tls, func() *XError {
  3100  		_err.XiLine = func() int32 {
  3101  			if _err.Xrc != 0 {
  3102  				return _err.XiLine
  3103  			}
  3104  			return int32(86)
  3105  		}()
  3106  		return &_err
  3107  	}(), &_db)
  3108  	_print_and_free_err(tls, &_err)
  3109  	return nil
  3110  }
  3111  
  3112  func _checkpoint_starvation_walhook(tls *crt.TLS, _pCtx unsafe.Pointer, _db unsafe.Pointer, _zDb *int8, _nFrame int32) (r0 int32) {
  3113  	var _p *XCheckpointStarvationCtx
  3114  	_p = (*XCheckpointStarvationCtx)(_pCtx)
  3115  	if _nFrame > _p.XnMaxFrame {
  3116  		_p.XnMaxFrame = _nFrame
  3117  	}
  3118  	if _nFrame >= int32(50) {
  3119  		bin.Xsqlite3_wal_checkpoint_v2(tls, (*bin.Xsqlite3)(_db), _zDb, _p.XeMode, nil, nil)
  3120  	}
  3121  	return int32(0)
  3122  }
  3123  
  3124  func _checkpoint_starvation_2(tls *crt.TLS, _nMs int32) {
  3125  	var _err XError
  3126  	var _ctx XCheckpointStarvationCtx
  3127  	_err = XError{}
  3128  	_ctx = XCheckpointStarvationCtx{XeMode: int32(2)}
  3129  	_checkpoint_starvation_main(tls, _nMs, &_ctx)
  3130  	if _ctx.XnMaxFrame > int32(60) {
  3131  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4379), _ctx.XnMaxFrame))
  3132  	}
  3133  	_print_and_free_err(tls, &_err)
  3134  }
  3135  
  3136  func _create_drop_index_1(tls *crt.TLS, _nMs int32) {
  3137  	var _err XError
  3138  	var _db XSqlite
  3139  	var _threads XThreadset
  3140  	_err = XError{}
  3141  	_db = XSqlite{}
  3142  	_threads = XThreadset{}
  3143  	_opendb_x(tls, func() *XError {
  3144  		_err.XiLine = func() int32 {
  3145  			if _err.Xrc != 0 {
  3146  				return _err.XiLine
  3147  			}
  3148  			return int32(54)
  3149  		}()
  3150  		return &_err
  3151  	}(), &_db, str(378), int32(1))
  3152  	_sql_script_x(tls, func() *XError {
  3153  		_err.XiLine = func() int32 {
  3154  			if _err.Xrc != 0 {
  3155  				return _err.XiLine
  3156  			}
  3157  			return int32(55)
  3158  		}()
  3159  		return &_err
  3160  	}(), &_db, str(4410))
  3161  	_closedb_x(tls, func() *XError {
  3162  		_err.XiLine = func() int32 {
  3163  			if _err.Xrc != 0 {
  3164  				return _err.XiLine
  3165  			}
  3166  			return int32(60)
  3167  		}()
  3168  		return &_err
  3169  	}(), &_db)
  3170  	_setstoptime_x(tls, func() *XError {
  3171  		_err.XiLine = func() int32 {
  3172  			if _err.Xrc != 0 {
  3173  				return _err.XiLine
  3174  			}
  3175  			return int32(62)
  3176  		}()
  3177  		return &_err
  3178  	}(), _nMs)
  3179  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3180  	_launch_thread_x(tls, func() *XError {
  3181  		_err.XiLine = func() int32 {
  3182  			if _err.Xrc != 0 {
  3183  				return _err.XiLine
  3184  			}
  3185  			return int32(65)
  3186  		}()
  3187  		return &_err
  3188  	}(), &_threads, _create_drop_index_thread, nil)
  3189  	_launch_thread_x(tls, func() *XError {
  3190  		_err.XiLine = func() int32 {
  3191  			if _err.Xrc != 0 {
  3192  				return _err.XiLine
  3193  			}
  3194  			return int32(66)
  3195  		}()
  3196  		return &_err
  3197  	}(), &_threads, _create_drop_index_thread, nil)
  3198  	_launch_thread_x(tls, func() *XError {
  3199  		_err.XiLine = func() int32 {
  3200  			if _err.Xrc != 0 {
  3201  				return _err.XiLine
  3202  			}
  3203  			return int32(67)
  3204  		}()
  3205  		return &_err
  3206  	}(), &_threads, _create_drop_index_thread, nil)
  3207  	_launch_thread_x(tls, func() *XError {
  3208  		_err.XiLine = func() int32 {
  3209  			if _err.Xrc != 0 {
  3210  				return _err.XiLine
  3211  			}
  3212  			return int32(68)
  3213  		}()
  3214  		return &_err
  3215  	}(), &_threads, _create_drop_index_thread, nil)
  3216  	_launch_thread_x(tls, func() *XError {
  3217  		_err.XiLine = func() int32 {
  3218  			if _err.Xrc != 0 {
  3219  				return _err.XiLine
  3220  			}
  3221  			return int32(69)
  3222  		}()
  3223  		return &_err
  3224  	}(), &_threads, _create_drop_index_thread, nil)
  3225  	_join_all_threads_x(tls, func() *XError {
  3226  		_err.XiLine = func() int32 {
  3227  			if _err.Xrc != 0 {
  3228  				return _err.XiLine
  3229  			}
  3230  			return int32(71)
  3231  		}()
  3232  		return &_err
  3233  	}(), &_threads)
  3234  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3235  	_print_and_free_err(tls, &_err)
  3236  }
  3237  
  3238  func _create_drop_index_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3239  	var _err XError
  3240  	var _db XSqlite
  3241  	_err = XError{}
  3242  	_db = XSqlite{}
  3243  _0:
  3244  	if _timetostop_x(tls, func() *XError {
  3245  		_err.XiLine = func() int32 {
  3246  			if _err.Xrc != 0 {
  3247  				return _err.XiLine
  3248  			}
  3249  			return int32(21)
  3250  		}()
  3251  		return &_err
  3252  	}()) == 0 {
  3253  		_opendb_x(tls, func() *XError {
  3254  			_err.XiLine = func() int32 {
  3255  				if _err.Xrc != 0 {
  3256  					return _err.XiLine
  3257  				}
  3258  				return int32(22)
  3259  			}()
  3260  			return &_err
  3261  		}(), &_db, str(378), int32(0))
  3262  		_sql_script_x(tls, func() *XError {
  3263  			_err.XiLine = func() int32 {
  3264  				if _err.Xrc != 0 {
  3265  					return _err.XiLine
  3266  				}
  3267  				return int32(24)
  3268  			}()
  3269  			return &_err
  3270  		}(), &_db, str(4551))
  3271  		_clear_error_x(tls, &_err, int32(6))
  3272  		_closedb_x(tls, func() *XError {
  3273  			_err.XiLine = func() int32 {
  3274  				if _err.Xrc != 0 {
  3275  					return _err.XiLine
  3276  				}
  3277  				return int32(42)
  3278  			}()
  3279  			return &_err
  3280  		}(), &_db)
  3281  		goto _0
  3282  	}
  3283  	_print_and_free_err(tls, &_err)
  3284  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3285  }
  3286  
  3287  func _lookaside1(tls *crt.TLS, _nMs int32) {
  3288  	var _err XError
  3289  	var _db XSqlite
  3290  	var _threads XThreadset
  3291  	_err = XError{}
  3292  	_db = XSqlite{}
  3293  	_threads = XThreadset{}
  3294  	_opendb_x(tls, func() *XError {
  3295  		_err.XiLine = func() int32 {
  3296  			if _err.Xrc != 0 {
  3297  				return _err.XiLine
  3298  			}
  3299  			return int32(71)
  3300  		}()
  3301  		return &_err
  3302  	}(), &_db, str(378), int32(1))
  3303  	_sql_script_x(tls, func() *XError {
  3304  		_err.XiLine = func() int32 {
  3305  			if _err.Xrc != 0 {
  3306  				return _err.XiLine
  3307  			}
  3308  			return int32(72)
  3309  		}()
  3310  		return &_err
  3311  	}(), &_db, str(4924))
  3312  	_closedb_x(tls, func() *XError {
  3313  		_err.XiLine = func() int32 {
  3314  			if _err.Xrc != 0 {
  3315  				return _err.XiLine
  3316  			}
  3317  			return int32(85)
  3318  		}()
  3319  		return &_err
  3320  	}(), &_db)
  3321  	_setstoptime_x(tls, func() *XError {
  3322  		_err.XiLine = func() int32 {
  3323  			if _err.Xrc != 0 {
  3324  				return _err.XiLine
  3325  			}
  3326  			return int32(87)
  3327  		}()
  3328  		return &_err
  3329  	}(), _nMs)
  3330  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3331  	_launch_thread_x(tls, func() *XError {
  3332  		_err.XiLine = func() int32 {
  3333  			if _err.Xrc != 0 {
  3334  				return _err.XiLine
  3335  			}
  3336  			return int32(90)
  3337  		}()
  3338  		return &_err
  3339  	}(), &_threads, _lookaside1_thread_reader, nil)
  3340  	_launch_thread_x(tls, func() *XError {
  3341  		_err.XiLine = func() int32 {
  3342  			if _err.Xrc != 0 {
  3343  				return _err.XiLine
  3344  			}
  3345  			return int32(91)
  3346  		}()
  3347  		return &_err
  3348  	}(), &_threads, _lookaside1_thread_reader, nil)
  3349  	_launch_thread_x(tls, func() *XError {
  3350  		_err.XiLine = func() int32 {
  3351  			if _err.Xrc != 0 {
  3352  				return _err.XiLine
  3353  			}
  3354  			return int32(92)
  3355  		}()
  3356  		return &_err
  3357  	}(), &_threads, _lookaside1_thread_reader, nil)
  3358  	_launch_thread_x(tls, func() *XError {
  3359  		_err.XiLine = func() int32 {
  3360  			if _err.Xrc != 0 {
  3361  				return _err.XiLine
  3362  			}
  3363  			return int32(93)
  3364  		}()
  3365  		return &_err
  3366  	}(), &_threads, _lookaside1_thread_reader, nil)
  3367  	_launch_thread_x(tls, func() *XError {
  3368  		_err.XiLine = func() int32 {
  3369  			if _err.Xrc != 0 {
  3370  				return _err.XiLine
  3371  			}
  3372  			return int32(94)
  3373  		}()
  3374  		return &_err
  3375  	}(), &_threads, _lookaside1_thread_reader, nil)
  3376  	_launch_thread_x(tls, func() *XError {
  3377  		_err.XiLine = func() int32 {
  3378  			if _err.Xrc != 0 {
  3379  				return _err.XiLine
  3380  			}
  3381  			return int32(95)
  3382  		}()
  3383  		return &_err
  3384  	}(), &_threads, _lookaside1_thread_writer, nil)
  3385  	_join_all_threads_x(tls, func() *XError {
  3386  		_err.XiLine = func() int32 {
  3387  			if _err.Xrc != 0 {
  3388  				return _err.XiLine
  3389  			}
  3390  			return int32(96)
  3391  		}()
  3392  		return &_err
  3393  	}(), &_threads)
  3394  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3395  	_print_and_free_err(tls, &_err)
  3396  }
  3397  
  3398  func _lookaside1_thread_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3399  	var _1_rc int32
  3400  	var _1_pStmt unsafe.Pointer
  3401  	var _err XError
  3402  	var _db XSqlite
  3403  	_err = XError{}
  3404  	_db = XSqlite{}
  3405  	_opendb_x(tls, func() *XError {
  3406  		_err.XiLine = func() int32 {
  3407  			if _err.Xrc != 0 {
  3408  				return _err.XiLine
  3409  			}
  3410  			return int32(25)
  3411  		}()
  3412  		return &_err
  3413  	}(), &_db, str(378), int32(0))
  3414  _2:
  3415  	if _timetostop_x(tls, func() *XError {
  3416  		_err.XiLine = func() int32 {
  3417  			if _err.Xrc != 0 {
  3418  				return _err.XiLine
  3419  			}
  3420  			return int32(27)
  3421  		}()
  3422  		return &_err
  3423  	}()) != 0 {
  3424  		goto _3
  3425  	}
  3426  	_1_pStmt = nil
  3427  	bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_db.Xdb), str(5276), int32(-1), &_1_pStmt, nil)
  3428  _6:
  3429  	if bin.Xsqlite3_step(tls, _1_pStmt) == int32(100) {
  3430  		_execsql_i64_x(tls, func() *XError {
  3431  			_err.XiLine = func() int32 {
  3432  				if _err.Xrc != 0 {
  3433  					return _err.XiLine
  3434  				}
  3435  				return int32(33)
  3436  			}()
  3437  			return &_err
  3438  		}(), &_db, unsafe.Pointer(str(5293)))
  3439  		goto _6
  3440  	}
  3441  	_1_rc = bin.Xsqlite3_finalize(tls, _1_pStmt)
  3442  	if (_err.Xrc == int32(0)) && (_1_rc != int32(0)) {
  3443  		_sqlite_error(tls, &_err, &_db, str(5324))
  3444  	}
  3445  	goto _2
  3446  _3:
  3447  	_closedb_x(tls, func() *XError {
  3448  		_err.XiLine = func() int32 {
  3449  			if _err.Xrc != 0 {
  3450  				return _err.XiLine
  3451  			}
  3452  			return int32(41)
  3453  		}()
  3454  		return &_err
  3455  	}(), &_db)
  3456  	_print_and_free_err(tls, &_err)
  3457  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3458  }
  3459  
  3460  func _lookaside1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3461  	var _err XError
  3462  	var _db XSqlite
  3463  	_err = XError{}
  3464  	_db = XSqlite{}
  3465  	_opendb_x(tls, func() *XError {
  3466  		_err.XiLine = func() int32 {
  3467  			if _err.Xrc != 0 {
  3468  				return _err.XiLine
  3469  			}
  3470  			return int32(50)
  3471  		}()
  3472  		return &_err
  3473  	}(), &_db, str(378), int32(0))
  3474  _2:
  3475  	_sql_script_x(tls, func() *XError {
  3476  		_err.XiLine = func() int32 {
  3477  			if _err.Xrc != 0 {
  3478  				return _err.XiLine
  3479  			}
  3480  			return int32(53)
  3481  		}()
  3482  		return &_err
  3483  	}(), &_db, str(5333))
  3484  	if _timetostop_x(tls, func() *XError {
  3485  		_err.XiLine = func() int32 {
  3486  			if _err.Xrc != 0 {
  3487  				return _err.XiLine
  3488  			}
  3489  			return int32(58)
  3490  		}()
  3491  		return &_err
  3492  	}()) == 0 {
  3493  		goto _2
  3494  	}
  3495  	_closedb_x(tls, func() *XError {
  3496  		_err.XiLine = func() int32 {
  3497  			if _err.Xrc != 0 {
  3498  				return _err.XiLine
  3499  			}
  3500  			return int32(60)
  3501  		}()
  3502  		return &_err
  3503  	}(), &_db)
  3504  	_print_and_free_err(tls, &_err)
  3505  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3506  }
  3507  
  3508  func _vacuum1(tls *crt.TLS, _nMs int32) {
  3509  	var _err XError
  3510  	var _db XSqlite
  3511  	var _threads XThreadset
  3512  	_err = XError{}
  3513  	_db = XSqlite{}
  3514  	_threads = XThreadset{}
  3515  	_opendb_x(tls, func() *XError {
  3516  		_err.XiLine = func() int32 {
  3517  			if _err.Xrc != 0 {
  3518  				return _err.XiLine
  3519  			}
  3520  			return int32(72)
  3521  		}()
  3522  		return &_err
  3523  	}(), &_db, str(378), int32(1))
  3524  	_sql_script_x(tls, func() *XError {
  3525  		_err.XiLine = func() int32 {
  3526  			if _err.Xrc != 0 {
  3527  				return _err.XiLine
  3528  			}
  3529  			return int32(73)
  3530  		}()
  3531  		return &_err
  3532  	}(), &_db, str(5379))
  3533  	_closedb_x(tls, func() *XError {
  3534  		_err.XiLine = func() int32 {
  3535  			if _err.Xrc != 0 {
  3536  				return _err.XiLine
  3537  			}
  3538  			return int32(77)
  3539  		}()
  3540  		return &_err
  3541  	}(), &_db)
  3542  	_setstoptime_x(tls, func() *XError {
  3543  		_err.XiLine = func() int32 {
  3544  			if _err.Xrc != 0 {
  3545  				return _err.XiLine
  3546  			}
  3547  			return int32(79)
  3548  		}()
  3549  		return &_err
  3550  	}(), _nMs)
  3551  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3552  	_launch_thread_x(tls, func() *XError {
  3553  		_err.XiLine = func() int32 {
  3554  			if _err.Xrc != 0 {
  3555  				return _err.XiLine
  3556  			}
  3557  			return int32(82)
  3558  		}()
  3559  		return &_err
  3560  	}(), &_threads, _vacuum1_thread_writer, nil)
  3561  	_launch_thread_x(tls, func() *XError {
  3562  		_err.XiLine = func() int32 {
  3563  			if _err.Xrc != 0 {
  3564  				return _err.XiLine
  3565  			}
  3566  			return int32(83)
  3567  		}()
  3568  		return &_err
  3569  	}(), &_threads, _vacuum1_thread_writer, nil)
  3570  	_launch_thread_x(tls, func() *XError {
  3571  		_err.XiLine = func() int32 {
  3572  			if _err.Xrc != 0 {
  3573  				return _err.XiLine
  3574  			}
  3575  			return int32(84)
  3576  		}()
  3577  		return &_err
  3578  	}(), &_threads, _vacuum1_thread_writer, nil)
  3579  	_launch_thread_x(tls, func() *XError {
  3580  		_err.XiLine = func() int32 {
  3581  			if _err.Xrc != 0 {
  3582  				return _err.XiLine
  3583  			}
  3584  			return int32(85)
  3585  		}()
  3586  		return &_err
  3587  	}(), &_threads, _vacuum1_thread_vacuumer, nil)
  3588  	_join_all_threads_x(tls, func() *XError {
  3589  		_err.XiLine = func() int32 {
  3590  			if _err.Xrc != 0 {
  3591  				return _err.XiLine
  3592  			}
  3593  			return int32(86)
  3594  		}()
  3595  		return &_err
  3596  	}(), &_threads)
  3597  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3598  	_print_and_free_err(tls, &_err)
  3599  }
  3600  
  3601  func _vacuum1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3602  	var _i int64
  3603  	var _err XError
  3604  	var _db XSqlite
  3605  	_err = XError{}
  3606  	_db = XSqlite{}
  3607  	_opendb_x(tls, func() *XError {
  3608  		_err.XiLine = func() int32 {
  3609  			if _err.Xrc != 0 {
  3610  				return _err.XiLine
  3611  			}
  3612  			return int32(26)
  3613  		}()
  3614  		return &_err
  3615  	}(), &_db, str(378), int32(0))
  3616  	_i = int64(0)
  3617  _2:
  3618  	if _timetostop_x(tls, func() *XError {
  3619  		_err.XiLine = func() int32 {
  3620  			if _err.Xrc != 0 {
  3621  				return _err.XiLine
  3622  			}
  3623  			return int32(29)
  3624  		}()
  3625  		return &_err
  3626  	}()) == 0 {
  3627  		_i += 1
  3628  		_execsql_i64_x(tls, func() *XError {
  3629  			_err.XiLine = func() int32 {
  3630  				if _err.Xrc != 0 {
  3631  					return _err.XiLine
  3632  				}
  3633  				return int32(33)
  3634  			}()
  3635  			return &_err
  3636  		}(), &_db, unsafe.Pointer(str(5444)))
  3637  		_execsql_i64_x(tls, func() *XError {
  3638  			_err.XiLine = func() int32 {
  3639  				if _err.Xrc != 0 {
  3640  					return _err.XiLine
  3641  				}
  3642  				return int32(39)
  3643  			}()
  3644  			return &_err
  3645  		}(), &_db, unsafe.Pointer(str(5579)), unsafe.Pointer(&_i))
  3646  		_clear_error_x(tls, &_err, int32(6))
  3647  		_execsql_i64_x(tls, func() *XError {
  3648  			_err.XiLine = func() int32 {
  3649  				if _err.Xrc != 0 {
  3650  					return _err.XiLine
  3651  				}
  3652  				return int32(43)
  3653  			}()
  3654  			return &_err
  3655  		}(), &_db, unsafe.Pointer(str(5611)))
  3656  		_clear_error_x(tls, &_err, int32(6))
  3657  		goto _2
  3658  	}
  3659  	_closedb_x(tls, func() *XError {
  3660  		_err.XiLine = func() int32 {
  3661  			if _err.Xrc != 0 {
  3662  				return _err.XiLine
  3663  			}
  3664  			return int32(47)
  3665  		}()
  3666  		return &_err
  3667  	}(), &_db)
  3668  	_print_and_free_err(tls, &_err)
  3669  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3670  }
  3671  
  3672  func _vacuum1_thread_vacuumer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3673  	var _err XError
  3674  	var _db XSqlite
  3675  	_err = XError{}
  3676  	_db = XSqlite{}
  3677  	_opendb_x(tls, func() *XError {
  3678  		_err.XiLine = func() int32 {
  3679  			if _err.Xrc != 0 {
  3680  				return _err.XiLine
  3681  			}
  3682  			return int32(55)
  3683  		}()
  3684  		return &_err
  3685  	}(), &_db, str(378), int32(0))
  3686  _2:
  3687  	_sql_script_x(tls, func() *XError {
  3688  		_err.XiLine = func() int32 {
  3689  			if _err.Xrc != 0 {
  3690  				return _err.XiLine
  3691  			}
  3692  			return int32(58)
  3693  		}()
  3694  		return &_err
  3695  	}(), &_db, str(5639))
  3696  	_clear_error_x(tls, &_err, int32(6))
  3697  	if _timetostop_x(tls, func() *XError {
  3698  		_err.XiLine = func() int32 {
  3699  			if _err.Xrc != 0 {
  3700  				return _err.XiLine
  3701  			}
  3702  			return int32(60)
  3703  		}()
  3704  		return &_err
  3705  	}()) == 0 {
  3706  		goto _2
  3707  	}
  3708  	_closedb_x(tls, func() *XError {
  3709  		_err.XiLine = func() int32 {
  3710  			if _err.Xrc != 0 {
  3711  				return _err.XiLine
  3712  			}
  3713  			return int32(62)
  3714  		}()
  3715  		return &_err
  3716  	}(), &_db)
  3717  	_print_and_free_err(tls, &_err)
  3718  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3719  }
  3720  
  3721  func _stress1(tls *crt.TLS, _nMs int32) {
  3722  	var _err XError
  3723  	var _threads XThreadset
  3724  	_err = XError{}
  3725  	_threads = XThreadset{}
  3726  	_setstoptime_x(tls, func() *XError {
  3727  		_err.XiLine = func() int32 {
  3728  			if _err.Xrc != 0 {
  3729  				return _err.XiLine
  3730  			}
  3731  			return int32(138)
  3732  		}()
  3733  		return &_err
  3734  	}(), _nMs)
  3735  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3736  	_launch_thread_x(tls, func() *XError {
  3737  		_err.XiLine = func() int32 {
  3738  			if _err.Xrc != 0 {
  3739  				return _err.XiLine
  3740  			}
  3741  			return int32(141)
  3742  		}()
  3743  		return &_err
  3744  	}(), &_threads, _stress_thread_1, nil)
  3745  	_launch_thread_x(tls, func() *XError {
  3746  		_err.XiLine = func() int32 {
  3747  			if _err.Xrc != 0 {
  3748  				return _err.XiLine
  3749  			}
  3750  			return int32(142)
  3751  		}()
  3752  		return &_err
  3753  	}(), &_threads, _stress_thread_1, nil)
  3754  	_launch_thread_x(tls, func() *XError {
  3755  		_err.XiLine = func() int32 {
  3756  			if _err.Xrc != 0 {
  3757  				return _err.XiLine
  3758  			}
  3759  			return int32(144)
  3760  		}()
  3761  		return &_err
  3762  	}(), &_threads, _stress_thread_2, nil)
  3763  	_launch_thread_x(tls, func() *XError {
  3764  		_err.XiLine = func() int32 {
  3765  			if _err.Xrc != 0 {
  3766  				return _err.XiLine
  3767  			}
  3768  			return int32(145)
  3769  		}()
  3770  		return &_err
  3771  	}(), &_threads, _stress_thread_2, nil)
  3772  	_launch_thread_x(tls, func() *XError {
  3773  		_err.XiLine = func() int32 {
  3774  			if _err.Xrc != 0 {
  3775  				return _err.XiLine
  3776  			}
  3777  			return int32(147)
  3778  		}()
  3779  		return &_err
  3780  	}(), &_threads, _stress_thread_3, nil)
  3781  	_launch_thread_x(tls, func() *XError {
  3782  		_err.XiLine = func() int32 {
  3783  			if _err.Xrc != 0 {
  3784  				return _err.XiLine
  3785  			}
  3786  			return int32(148)
  3787  		}()
  3788  		return &_err
  3789  	}(), &_threads, _stress_thread_3, nil)
  3790  	_launch_thread_x(tls, func() *XError {
  3791  		_err.XiLine = func() int32 {
  3792  			if _err.Xrc != 0 {
  3793  				return _err.XiLine
  3794  			}
  3795  			return int32(150)
  3796  		}()
  3797  		return &_err
  3798  	}(), &_threads, _stress_thread_4, nil)
  3799  	_launch_thread_x(tls, func() *XError {
  3800  		_err.XiLine = func() int32 {
  3801  			if _err.Xrc != 0 {
  3802  				return _err.XiLine
  3803  			}
  3804  			return int32(151)
  3805  		}()
  3806  		return &_err
  3807  	}(), &_threads, _stress_thread_4, nil)
  3808  	_launch_thread_x(tls, func() *XError {
  3809  		_err.XiLine = func() int32 {
  3810  			if _err.Xrc != 0 {
  3811  				return _err.XiLine
  3812  			}
  3813  			return int32(153)
  3814  		}()
  3815  		return &_err
  3816  	}(), &_threads, _stress_thread_5, nil)
  3817  	_launch_thread_x(tls, func() *XError {
  3818  		_err.XiLine = func() int32 {
  3819  			if _err.Xrc != 0 {
  3820  				return _err.XiLine
  3821  			}
  3822  			return int32(154)
  3823  		}()
  3824  		return &_err
  3825  	}(), &_threads, _stress_thread_5, crt.U2P(uintptr(uint32(1))))
  3826  	_join_all_threads_x(tls, func() *XError {
  3827  		_err.XiLine = func() int32 {
  3828  			if _err.Xrc != 0 {
  3829  				return _err.XiLine
  3830  			}
  3831  			return int32(156)
  3832  		}()
  3833  		return &_err
  3834  	}(), &_threads)
  3835  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3836  	_print_and_free_err(tls, &_err)
  3837  }
  3838  
  3839  // C comment
  3840  //  /*
  3841  //  ** Thread 1. CREATE and DROP a table.
  3842  //  */
  3843  func _stress_thread_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3844  	var _err XError
  3845  	var _db XSqlite
  3846  	_err = XError{}
  3847  	_db = XSqlite{}
  3848  	_opendb_x(tls, func() *XError {
  3849  		_err.XiLine = func() int32 {
  3850  			if _err.Xrc != 0 {
  3851  				return _err.XiLine
  3852  			}
  3853  			return int32(24)
  3854  		}()
  3855  		return &_err
  3856  	}(), &_db, str(378), int32(0))
  3857  _2:
  3858  	if _timetostop_x(tls, func() *XError {
  3859  		_err.XiLine = func() int32 {
  3860  			if _err.Xrc != 0 {
  3861  				return _err.XiLine
  3862  			}
  3863  			return int32(25)
  3864  		}()
  3865  		return &_err
  3866  	}()) == 0 {
  3867  		_sql_script_x(tls, func() *XError {
  3868  			_err.XiLine = func() int32 {
  3869  				if _err.Xrc != 0 {
  3870  					return _err.XiLine
  3871  				}
  3872  				return int32(26)
  3873  			}()
  3874  			return &_err
  3875  		}(), &_db, str(5646))
  3876  		_clear_error_x(tls, &_err, int32(6))
  3877  		_sql_script_x(tls, func() *XError {
  3878  			_err.XiLine = func() int32 {
  3879  				if _err.Xrc != 0 {
  3880  					return _err.XiLine
  3881  				}
  3882  				return int32(28)
  3883  			}()
  3884  			return &_err
  3885  		}(), &_db, str(5694))
  3886  		_clear_error_x(tls, &_err, int32(6))
  3887  		goto _2
  3888  	}
  3889  	_closedb_x(tls, func() *XError {
  3890  		_err.XiLine = func() int32 {
  3891  			if _err.Xrc != 0 {
  3892  				return _err.XiLine
  3893  			}
  3894  			return int32(31)
  3895  		}()
  3896  		return &_err
  3897  	}(), &_db)
  3898  	_print_and_free_err(tls, &_err)
  3899  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3900  }
  3901  
  3902  // C comment
  3903  //  /*
  3904  //  ** Thread 2. Open and close database connections.
  3905  //  */
  3906  func _stress_thread_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3907  	var _err XError
  3908  	var _db XSqlite
  3909  	_err = XError{}
  3910  	_db = XSqlite{}
  3911  _0:
  3912  	if _timetostop_x(tls, func() *XError {
  3913  		_err.XiLine = func() int32 {
  3914  			if _err.Xrc != 0 {
  3915  				return _err.XiLine
  3916  			}
  3917  			return int32(42)
  3918  		}()
  3919  		return &_err
  3920  	}()) == 0 {
  3921  		_opendb_x(tls, func() *XError {
  3922  			_err.XiLine = func() int32 {
  3923  				if _err.Xrc != 0 {
  3924  					return _err.XiLine
  3925  				}
  3926  				return int32(43)
  3927  			}()
  3928  			return &_err
  3929  		}(), &_db, str(378), int32(0))
  3930  		_sql_script_x(tls, func() *XError {
  3931  			_err.XiLine = func() int32 {
  3932  				if _err.Xrc != 0 {
  3933  					return _err.XiLine
  3934  				}
  3935  				return int32(44)
  3936  			}()
  3937  			return &_err
  3938  		}(), &_db, str(5718))
  3939  		_clear_error_x(tls, &_err, int32(6))
  3940  		_closedb_x(tls, func() *XError {
  3941  			_err.XiLine = func() int32 {
  3942  				if _err.Xrc != 0 {
  3943  					return _err.XiLine
  3944  				}
  3945  				return int32(46)
  3946  			}()
  3947  			return &_err
  3948  		}(), &_db)
  3949  		goto _0
  3950  	}
  3951  	_print_and_free_err(tls, &_err)
  3952  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3953  }
  3954  
  3955  // C comment
  3956  //  /*
  3957  //  ** Thread 3. Attempt many small SELECT statements.
  3958  //  */
  3959  func _stress_thread_3(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3960  	var _i1, _i2 int32
  3961  	var _err XError
  3962  	var _db XSqlite
  3963  	_err = XError{}
  3964  	_db = XSqlite{}
  3965  	_i1 = int32(0)
  3966  	_i2 = int32(0)
  3967  	_opendb_x(tls, func() *XError {
  3968  		_err.XiLine = func() int32 {
  3969  			if _err.Xrc != 0 {
  3970  				return _err.XiLine
  3971  			}
  3972  			return int32(62)
  3973  		}()
  3974  		return &_err
  3975  	}(), &_db, str(378), int32(0))
  3976  _2:
  3977  	if _timetostop_x(tls, func() *XError {
  3978  		_err.XiLine = func() int32 {
  3979  			if _err.Xrc != 0 {
  3980  				return _err.XiLine
  3981  			}
  3982  			return int32(63)
  3983  		}()
  3984  		return &_err
  3985  	}()) != 0 {
  3986  		goto _3
  3987  	}
  3988  	_sql_script_x(tls, func() *XError {
  3989  		_err.XiLine = func() int32 {
  3990  			if _err.Xrc != 0 {
  3991  				return _err.XiLine
  3992  			}
  3993  			return int32(64)
  3994  		}()
  3995  		return &_err
  3996  	}(), &_db, str(5747))
  3997  	_i1 += 1
  3998  	if _err.Xrc != 0 {
  3999  		_i2 += 1
  4000  	}
  4001  	_clear_error_x(tls, &_err, int32(6))
  4002  	_clear_error_x(tls, &_err, int32(1))
  4003  	goto _2
  4004  _3:
  4005  	_closedb_x(tls, func() *XError {
  4006  		_err.XiLine = func() int32 {
  4007  			if _err.Xrc != 0 {
  4008  				return _err.XiLine
  4009  			}
  4010  			return int32(70)
  4011  		}()
  4012  		return &_err
  4013  	}(), &_db)
  4014  	_print_and_free_err(tls, &_err)
  4015  	return bin.Xsqlite3_mprintf(tls, str(5776), _i2, _i1)
  4016  }
  4017  
  4018  // C comment
  4019  //  /*
  4020  //  ** Thread 5. Attempt INSERT statements.
  4021  //  */
  4022  func _stress_thread_4(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4023  	var _i1, _i2, _iArg int32
  4024  	var _err XError
  4025  	var _db XSqlite
  4026  	_err = XError{}
  4027  	_db = XSqlite{}
  4028  	_i1 = int32(0)
  4029  	_i2 = int32(0)
  4030  	_iArg = int32(crt.P2U(_pArg))
  4031  	_opendb_x(tls, func() *XError {
  4032  		_err.XiLine = func() int32 {
  4033  			if _err.Xrc != 0 {
  4034  				return _err.XiLine
  4035  			}
  4036  			return int32(85)
  4037  		}()
  4038  		return &_err
  4039  	}(), &_db, str(378), int32(0))
  4040  _2:
  4041  	if _timetostop_x(tls, func() *XError {
  4042  		_err.XiLine = func() int32 {
  4043  			if _err.Xrc != 0 {
  4044  				return _err.XiLine
  4045  			}
  4046  			return int32(86)
  4047  		}()
  4048  		return &_err
  4049  	}()) != 0 {
  4050  		goto _3
  4051  	}
  4052  	if _iArg != 0 {
  4053  		_closedb_x(tls, func() *XError {
  4054  			_err.XiLine = func() int32 {
  4055  				if _err.Xrc != 0 {
  4056  					return _err.XiLine
  4057  				}
  4058  				return int32(88)
  4059  			}()
  4060  			return &_err
  4061  		}(), &_db)
  4062  		_opendb_x(tls, func() *XError {
  4063  			_err.XiLine = func() int32 {
  4064  				if _err.Xrc != 0 {
  4065  					return _err.XiLine
  4066  				}
  4067  				return int32(89)
  4068  			}()
  4069  			return &_err
  4070  		}(), &_db, str(378), int32(0))
  4071  	}
  4072  	_sql_script_x(tls, func() *XError {
  4073  		_err.XiLine = func() int32 {
  4074  			if _err.Xrc != 0 {
  4075  				return _err.XiLine
  4076  			}
  4077  			return int32(91)
  4078  		}()
  4079  		return &_err
  4080  	}(), &_db, str(5799))
  4081  	_i1 += 1
  4082  	if _err.Xrc != 0 {
  4083  		_i2 += 1
  4084  	}
  4085  	_clear_error_x(tls, &_err, int32(6))
  4086  	_clear_error_x(tls, &_err, int32(1))
  4087  	goto _2
  4088  _3:
  4089  	_closedb_x(tls, func() *XError {
  4090  		_err.XiLine = func() int32 {
  4091  			if _err.Xrc != 0 {
  4092  				return _err.XiLine
  4093  			}
  4094  			return int32(100)
  4095  		}()
  4096  		return &_err
  4097  	}(), &_db)
  4098  	_print_and_free_err(tls, &_err)
  4099  	return bin.Xsqlite3_mprintf(tls, str(5922), _i2, _i1)
  4100  }
  4101  
  4102  // C comment
  4103  //  /*
  4104  //  ** Thread 6. Attempt DELETE operations.
  4105  //  */
  4106  func _stress_thread_5(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4107  	var _iArg, _i1, _i2 int32
  4108  	var _1_i int64
  4109  	var _err XError
  4110  	var _db XSqlite
  4111  	_err = XError{}
  4112  	_db = XSqlite{}
  4113  	_iArg = int32(crt.P2U(_pArg))
  4114  	_i1 = int32(0)
  4115  	_i2 = int32(0)
  4116  	_opendb_x(tls, func() *XError {
  4117  		_err.XiLine = func() int32 {
  4118  			if _err.Xrc != 0 {
  4119  				return _err.XiLine
  4120  			}
  4121  			return int32(116)
  4122  		}()
  4123  		return &_err
  4124  	}(), &_db, str(378), int32(0))
  4125  _2:
  4126  	if _timetostop_x(tls, func() *XError {
  4127  		_err.XiLine = func() int32 {
  4128  			if _err.Xrc != 0 {
  4129  				return _err.XiLine
  4130  			}
  4131  			return int32(117)
  4132  		}()
  4133  		return &_err
  4134  	}()) != 0 {
  4135  		goto _3
  4136  	}
  4137  	_1_i = int64(_i1 % int32(4))
  4138  	if _iArg != 0 {
  4139  		_closedb_x(tls, func() *XError {
  4140  			_err.XiLine = func() int32 {
  4141  				if _err.Xrc != 0 {
  4142  					return _err.XiLine
  4143  				}
  4144  				return int32(120)
  4145  			}()
  4146  			return &_err
  4147  		}(), &_db)
  4148  		_opendb_x(tls, func() *XError {
  4149  			_err.XiLine = func() int32 {
  4150  				if _err.Xrc != 0 {
  4151  					return _err.XiLine
  4152  				}
  4153  				return int32(121)
  4154  			}()
  4155  			return &_err
  4156  		}(), &_db, str(378), int32(0))
  4157  	}
  4158  	_execsql_i64_x(tls, func() *XError {
  4159  		_err.XiLine = func() int32 {
  4160  			if _err.Xrc != 0 {
  4161  				return _err.XiLine
  4162  			}
  4163  			return int32(123)
  4164  		}()
  4165  		return &_err
  4166  	}(), &_db, unsafe.Pointer(str(5946)), unsafe.Pointer(&_1_i))
  4167  	_i1 += 1
  4168  	if _err.Xrc != 0 {
  4169  		_i2 += 1
  4170  	}
  4171  	_clear_error_x(tls, &_err, int32(6))
  4172  	goto _2
  4173  _3:
  4174  	_closedb_x(tls, func() *XError {
  4175  		_err.XiLine = func() int32 {
  4176  			if _err.Xrc != 0 {
  4177  				return _err.XiLine
  4178  			}
  4179  			return int32(128)
  4180  		}()
  4181  		return &_err
  4182  	}(), &_db)
  4183  	_print_and_free_err(tls, &_err)
  4184  	return bin.Xsqlite3_mprintf(tls, str(5983), _i2, _i1)
  4185  }
  4186  
  4187  func _stress2(tls *crt.TLS, _nMs int32) {
  4188  	var _i int32
  4189  	var _zDb *int8
  4190  	var _err XError
  4191  	var _db XSqlite
  4192  	var _threads XThreadset
  4193  	var _aTask [13]TStress2Task
  4194  	_aTask = [13]TStress2Task{}
  4195  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), 0).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4196  		v := _stress2_workload1
  4197  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4198  	}()
  4199  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(1)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4200  		v := _stress2_workload2
  4201  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4202  	}()
  4203  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(2)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4204  		v := _stress2_workload3
  4205  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4206  	}()
  4207  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(3)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4208  		v := _stress2_workload4
  4209  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4210  	}()
  4211  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(4)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4212  		v := _stress2_workload5
  4213  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4214  	}()
  4215  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(5)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4216  		v := _stress2_workload6
  4217  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4218  	}()
  4219  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(6)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4220  		v := _stress2_workload7
  4221  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4222  	}()
  4223  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(7)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4224  		v := _stress2_workload8
  4225  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4226  	}()
  4227  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(8)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4228  		v := _stress2_workload9
  4229  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4230  	}()
  4231  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(9)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4232  		v := _stress2_workload10
  4233  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4234  	}()
  4235  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(10)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4236  		v := _stress2_workload11
  4237  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4238  	}()
  4239  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(11)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4240  		v := _stress2_workload14
  4241  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4242  	}()
  4243  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(12)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4244  		v := _stress2_workload17
  4245  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4246  	}()
  4247  	_zDb = str(378)
  4248  	_err = XError{}
  4249  	_db = XSqlite{}
  4250  	_threads = XThreadset{}
  4251  	_opendb_x(tls, func() *XError {
  4252  		_err.XiLine = func() int32 {
  4253  			if _err.Xrc != 0 {
  4254  				return _err.XiLine
  4255  			}
  4256  			return int32(345)
  4257  		}()
  4258  		return &_err
  4259  	}(), &_db, _zDb, int32(1))
  4260  	_sql_script_x(tls, func() *XError {
  4261  		_err.XiLine = func() int32 {
  4262  			if _err.Xrc != 0 {
  4263  				return _err.XiLine
  4264  			}
  4265  			return int32(346)
  4266  		}()
  4267  		return &_err
  4268  	}(), &_db, str(6014))
  4269  	_closedb_x(tls, func() *XError {
  4270  		_err.XiLine = func() int32 {
  4271  			if _err.Xrc != 0 {
  4272  				return _err.XiLine
  4273  			}
  4274  			return int32(350)
  4275  		}()
  4276  		return &_err
  4277  	}(), &_db)
  4278  	_setstoptime_x(tls, func() *XError {
  4279  		_err.XiLine = func() int32 {
  4280  			if _err.Xrc != 0 {
  4281  				return _err.XiLine
  4282  			}
  4283  			return int32(352)
  4284  		}()
  4285  		return &_err
  4286  	}(), _nMs)
  4287  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  4288  	_i = int32(0)
  4289  _8:
  4290  	if uint32(_i) >= uint32(13) {
  4291  		goto _11
  4292  	}
  4293  	_stress2_launch_thread_loop(tls, &_err, &_threads, _zDb, func() func(*crt.TLS, *XError, *XSqlite, int32) {
  4294  		v := elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(_i)).Xx
  4295  		return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v))
  4296  	}())
  4297  	_i += 1
  4298  	goto _8
  4299  _11:
  4300  	_launch_thread_x(tls, func() *XError {
  4301  		_err.XiLine = func() int32 {
  4302  			if _err.Xrc != 0 {
  4303  				return _err.XiLine
  4304  			}
  4305  			return int32(358)
  4306  		}()
  4307  		return &_err
  4308  	}(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb))
  4309  	_launch_thread_x(tls, func() *XError {
  4310  		_err.XiLine = func() int32 {
  4311  			if _err.Xrc != 0 {
  4312  				return _err.XiLine
  4313  			}
  4314  			return int32(359)
  4315  		}()
  4316  		return &_err
  4317  	}(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb))
  4318  	_join_all_threads_x(tls, func() *XError {
  4319  		_err.XiLine = func() int32 {
  4320  			if _err.Xrc != 0 {
  4321  				return _err.XiLine
  4322  			}
  4323  			return int32(361)
  4324  		}()
  4325  		return &_err
  4326  	}(), &_threads)
  4327  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  4328  	_print_and_free_err(tls, &_err)
  4329  	_ = _aTask
  4330  }
  4331  
  4332  func _stress2_workload1(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4333  	var _iTab int32
  4334  	_iTab = (_i % int32(4)) + int32(1)
  4335  	_sql_script_printf_x(tls, func() *XError {
  4336  		_pErr.XiLine = func() int32 {
  4337  			if _pErr.Xrc != 0 {
  4338  				return _pErr.XiLine
  4339  			}
  4340  			return int32(193)
  4341  		}()
  4342  		return _pErr
  4343  	}(), _pDb, str(6105), _iTab)
  4344  }
  4345  
  4346  func _sql_script_printf_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFormat *int8, args ...interface{}) {
  4347  	var _1_zSql *int8
  4348  	var _ap []interface{}
  4349  	_ap = args
  4350  	if _pErr.Xrc == int32(0) {
  4351  		_1_zSql = bin.Xsqlite3_vmprintf(tls, _zFormat, _ap)
  4352  		_pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _1_zSql, nil, nil, &_pErr.XzErr)
  4353  		bin.Xsqlite3_free(tls, unsafe.Pointer(_1_zSql))
  4354  	}
  4355  	_ap = nil
  4356  }
  4357  
  4358  func _stress2_workload2(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4359  	var _iTab int32
  4360  	_iTab = (_i % int32(4)) + int32(1)
  4361  	_sql_script_printf_x(tls, func() *XError {
  4362  		_pErr.XiLine = func() int32 {
  4363  			if _pErr.Xrc != 0 {
  4364  				return _pErr.XiLine
  4365  			}
  4366  			return int32(200)
  4367  		}()
  4368  		return _pErr
  4369  	}(), _pDb, str(6158), _iTab)
  4370  }
  4371  
  4372  func _stress2_workload3(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4373  	_sql_script_x(tls, func() *XError {
  4374  		_pErr.XiLine = func() int32 {
  4375  			if _pErr.Xrc != 0 {
  4376  				return _pErr.XiLine
  4377  			}
  4378  			return int32(204)
  4379  		}()
  4380  		return _pErr
  4381  	}(), _pDb, str(6184))
  4382  }
  4383  
  4384  func _stress2_workload4(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4385  	_sql_script_x(tls, func() *XError {
  4386  		_pErr.XiLine = func() int32 {
  4387  			if _pErr.Xrc != 0 {
  4388  				return _pErr.XiLine
  4389  			}
  4390  			return int32(208)
  4391  		}()
  4392  		return _pErr
  4393  	}(), _pDb, str(6219))
  4394  }
  4395  
  4396  func _stress2_workload5(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4397  	_sql_script_x(tls, func() *XError {
  4398  		_pErr.XiLine = func() int32 {
  4399  			if _pErr.Xrc != 0 {
  4400  				return _pErr.XiLine
  4401  			}
  4402  			return int32(212)
  4403  		}()
  4404  		return _pErr
  4405  	}(), _pDb, str(6252))
  4406  }
  4407  
  4408  func _stress2_workload6(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4409  	_sql_script_x(tls, func() *XError {
  4410  		_pErr.XiLine = func() int32 {
  4411  			if _pErr.Xrc != 0 {
  4412  				return _pErr.XiLine
  4413  			}
  4414  			return int32(218)
  4415  		}()
  4416  		return _pErr
  4417  	}(), _pDb, str(6321))
  4418  }
  4419  
  4420  func _stress2_workload7(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4421  	_sql_script_printf_x(tls, func() *XError {
  4422  		_pErr.XiLine = func() int32 {
  4423  			if _pErr.Xrc != 0 {
  4424  				return _pErr.XiLine
  4425  			}
  4426  			return int32(224)
  4427  		}()
  4428  		return _pErr
  4429  	}(), _pDb, str(6387), _i)
  4430  }
  4431  
  4432  func _stress2_workload8(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4433  	_sql_script_printf_x(tls, func() *XError {
  4434  		_pErr.XiLine = func() int32 {
  4435  			if _pErr.Xrc != 0 {
  4436  				return _pErr.XiLine
  4437  			}
  4438  			return int32(231)
  4439  		}()
  4440  		return _pErr
  4441  	}(), _pDb, str(6469), _i)
  4442  }
  4443  
  4444  func _stress2_workload9(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4445  	_sql_script_printf_x(tls, func() *XError {
  4446  		_pErr.XiLine = func() int32 {
  4447  			if _pErr.Xrc != 0 {
  4448  				return _pErr.XiLine
  4449  			}
  4450  			return int32(239)
  4451  		}()
  4452  		return _pErr
  4453  	}(), _pDb, str(6546), _i)
  4454  }
  4455  
  4456  func _stress2_workload10(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4457  	_sql_script_printf_x(tls, func() *XError {
  4458  		_pErr.XiLine = func() int32 {
  4459  			if _pErr.Xrc != 0 {
  4460  				return _pErr.XiLine
  4461  			}
  4462  			return int32(244)
  4463  		}()
  4464  		return _pErr
  4465  	}(), _pDb, str(6602), _i)
  4466  }
  4467  
  4468  func _stress2_workload11(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4469  	_sql_script_x(tls, func() *XError {
  4470  		_pErr.XiLine = func() int32 {
  4471  			if _pErr.Xrc != 0 {
  4472  				return _pErr.XiLine
  4473  			}
  4474  			return int32(250)
  4475  		}()
  4476  		return _pErr
  4477  	}(), _pDb, str(5639))
  4478  }
  4479  
  4480  func _stress2_workload14(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4481  	_sql_script_x(tls, func() *XError {
  4482  		_pErr.XiLine = func() int32 {
  4483  			if _pErr.Xrc != 0 {
  4484  				return _pErr.XiLine
  4485  			}
  4486  			return int32(254)
  4487  		}()
  4488  		return _pErr
  4489  	}(), _pDb, str(1143))
  4490  }
  4491  
  4492  func _stress2_workload17(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4493  	_sql_script_printf_x(tls, func() *XError {
  4494  		_pErr.XiLine = func() int32 {
  4495  			if _pErr.Xrc != 0 {
  4496  				return _pErr.XiLine
  4497  			}
  4498  			return int32(258)
  4499  		}()
  4500  		return _pErr
  4501  	}(), _pDb, str(6656), unsafe.Pointer(func() *int8 {
  4502  		if (_i % int32(2)) != 0 {
  4503  			return str(6681)
  4504  		}
  4505  		return str(6688)
  4506  	}()))
  4507  }
  4508  
  4509  func _stress2_launch_thread_loop(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _zDb *int8, _x func(*crt.TLS, *XError, *XSqlite, int32)) {
  4510  	var _pCtx *XStress2Ctx
  4511  	_pCtx = (*XStress2Ctx)(bin.Xsqlite3_malloc(tls, int32(8)))
  4512  	_pCtx.XzDb = _zDb
  4513  	*(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&_pCtx.XxProc)) = _x
  4514  	_launch_thread_x(tls, func() *XError {
  4515  		_pErr.XiLine = func() int32 {
  4516  			if _pErr.Xrc != 0 {
  4517  				return _pErr.XiLine
  4518  			}
  4519  			return int32(316)
  4520  		}()
  4521  		return _pErr
  4522  	}(), _pThreads, _stress2_thread_wrapper, unsafe.Pointer(_pCtx))
  4523  }
  4524  
  4525  func _stress2_thread_wrapper(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4526  	var _i1, _i2, _1_cnt int32
  4527  	var _err XError
  4528  	var _db XSqlite
  4529  	var _pCtx *XStress2Ctx
  4530  	_pCtx = (*XStress2Ctx)(_pArg)
  4531  	_err = XError{}
  4532  	_db = XSqlite{}
  4533  	_i1 = int32(0)
  4534  	_i2 = int32(0)
  4535  _0:
  4536  	if _timetostop_x(tls, func() *XError {
  4537  		_err.XiLine = func() int32 {
  4538  			if _err.Xrc != 0 {
  4539  				return _err.XiLine
  4540  			}
  4541  			return int32(291)
  4542  		}()
  4543  		return &_err
  4544  	}()) != 0 {
  4545  		goto _1
  4546  	}
  4547  	_opendb_x(tls, func() *XError {
  4548  		_err.XiLine = func() int32 {
  4549  			if _err.Xrc != 0 {
  4550  				return _err.XiLine
  4551  			}
  4552  			return int32(293)
  4553  		}()
  4554  		return &_err
  4555  	}(), &_db, _pCtx.XzDb, int32(0))
  4556  	_1_cnt = int32(0)
  4557  _6:
  4558  	if _err.Xrc != int32(0) || _1_cnt >= int32(5) {
  4559  		goto _10
  4560  	}
  4561  	func() func(*crt.TLS, *XError, *XSqlite, int32) {
  4562  		v := _pCtx.XxProc
  4563  		return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v))
  4564  	}()(tls, &_err, &_db, _i1)
  4565  	_i2 += bool2int(_err.Xrc == int32(0))
  4566  	_clear_error_x(tls, &_err, int32(6))
  4567  	_i1 += 1
  4568  	_1_cnt += 1
  4569  	goto _6
  4570  _10:
  4571  	_closedb_x(tls, func() *XError {
  4572  		_err.XiLine = func() int32 {
  4573  			if _err.Xrc != 0 {
  4574  				return _err.XiLine
  4575  			}
  4576  			return int32(300)
  4577  		}()
  4578  		return &_err
  4579  	}(), &_db)
  4580  	goto _0
  4581  _1:
  4582  	_print_and_free_err(tls, &_err)
  4583  	return bin.Xsqlite3_mprintf(tls, str(6692), _i2, _i1)
  4584  }
  4585  
  4586  func _stress2_workload19(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4587  	var _zDb *int8
  4588  	var _err XError
  4589  	var _db XSqlite
  4590  	_err = XError{}
  4591  	_db = XSqlite{}
  4592  	_zDb = (*int8)(_pArg)
  4593  _0:
  4594  	if _timetostop_x(tls, func() *XError {
  4595  		_err.XiLine = func() int32 {
  4596  			if _err.Xrc != 0 {
  4597  				return _err.XiLine
  4598  			}
  4599  			return int32(267)
  4600  		}()
  4601  		return &_err
  4602  	}()) == 0 {
  4603  		_opendb_x(tls, func() *XError {
  4604  			_err.XiLine = func() int32 {
  4605  				if _err.Xrc != 0 {
  4606  					return _err.XiLine
  4607  				}
  4608  				return int32(268)
  4609  			}()
  4610  			return &_err
  4611  		}(), &_db, _zDb, int32(0))
  4612  		_sql_script_x(tls, func() *XError {
  4613  			_err.XiLine = func() int32 {
  4614  				if _err.Xrc != 0 {
  4615  					return _err.XiLine
  4616  				}
  4617  				return int32(269)
  4618  			}()
  4619  			return &_err
  4620  		}(), &_db, str(5718))
  4621  		_clear_error_x(tls, &_err, int32(6))
  4622  		_closedb_x(tls, func() *XError {
  4623  			_err.XiLine = func() int32 {
  4624  				if _err.Xrc != 0 {
  4625  					return _err.XiLine
  4626  				}
  4627  				return int32(271)
  4628  			}()
  4629  			return &_err
  4630  		}(), &_db)
  4631  		goto _0
  4632  	}
  4633  	_print_and_free_err(tls, &_err)
  4634  	return bin.Xsqlite3_mprintf(tls, str(1166))
  4635  }
  4636  
  4637  var _mainØ00substArgvØ001 [3]*int8
  4638  
  4639  func init() {
  4640  	_mainØ00substArgvØ001 = [3]*int8{nil, str(6701), nil}
  4641  }
  4642  
  4643  // C comment
  4644  //  /************************** Public Interfaces *****************************/
  4645  //  /*
  4646  //  ** CAPI: Initialize the multiplex VFS shim - sqlite3_multiplex_initialize()
  4647  //  **
  4648  //  ** Use the VFS named zOrigVfsName as the VFS that does the actual work.
  4649  //  ** Use the default if zOrigVfsName==NULL.
  4650  //  **
  4651  //  ** The multiplex VFS shim is named "multiplex".  It will become the default
  4652  //  ** VFS if makeDefault is non-zero.
  4653  //  **
  4654  //  ** THIS ROUTINE IS NOT THREADSAFE.  Call this routine exactly once
  4655  //  ** during start-up.
  4656  //  */
  4657  func Xsqlite3_multiplex_initialize(tls *crt.TLS, _zOrigVfsName *int8, _makeDefault int32) (r0 int32) {
  4658  	var _pOrigVfs *bin.Xsqlite3_vfs
  4659  	if _gMultiplex.XisInitialized != 0 {
  4660  		return int32(21)
  4661  	}
  4662  	_pOrigVfs = bin.Xsqlite3_vfs_find(tls, _zOrigVfsName)
  4663  	if _pOrigVfs == nil {
  4664  		return int32(1)
  4665  	}
  4666  	func() {
  4667  		if _pOrigVfs == &_gMultiplex.XsThisVfs {
  4668  			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)))
  4669  			crt.X__builtin_abort(tls)
  4670  		}
  4671  	}()
  4672  	_gMultiplex.XisInitialized = int32(1)
  4673  	*(**bin.Xsqlite3_vfs)(unsafe.Pointer(&_gMultiplex.XpOrigVfs)) = _pOrigVfs
  4674  	_gMultiplex.XsThisVfs = *_pOrigVfs
  4675  	{
  4676  		p := &(_gMultiplex.XsThisVfs.XszOsFile)
  4677  		*p = int32(uint32(*p) + uint32(8))
  4678  	}
  4679  	_gMultiplex.XsThisVfs.XzName = str(6794)
  4680  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxOpen))) = _multiplexOpen
  4681  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDelete))) = _multiplexDelete
  4682  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxAccess))) = _multiplexAccess
  4683  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxFullPathname))) = _multiplexFullPathname
  4684  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlOpen))) = _multiplexDlOpen
  4685  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlError))) = _multiplexDlError
  4686  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlSym))) = _multiplexDlSym
  4687  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlClose))) = _multiplexDlClose
  4688  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxRandomness))) = _multiplexRandomness
  4689  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxSleep))) = _multiplexSleep
  4690  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTime))) = _multiplexCurrentTime
  4691  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxGetLastError))) = _multiplexGetLastError
  4692  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTimeInt64))) = _multiplexCurrentTimeInt64
  4693  	_gMultiplex.XsIoMethodsV1.XiVersion = int32(1)
  4694  	*(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxClose))) = _multiplexClose
  4695  	*(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxRead))) = _multiplexRead
  4696  	*(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxWrite))) = _multiplexWrite
  4697  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxTruncate))) = _multiplexTruncate
  4698  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSync))) = _multiplexSync
  4699  	*(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileSize))) = _multiplexFileSize
  4700  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxLock))) = _multiplexLock
  4701  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxUnlock))) = _multiplexUnlock
  4702  	*(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxCheckReservedLock))) = _multiplexCheckReservedLock
  4703  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileControl))) = _multiplexFileControl
  4704  	*(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSectorSize))) = _multiplexSectorSize
  4705  	*(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxDeviceCharacteristics))) = _multiplexDeviceCharacteristics
  4706  	_gMultiplex.XsIoMethodsV2 = _gMultiplex.XsIoMethodsV1
  4707  	_gMultiplex.XsIoMethodsV2.XiVersion = int32(2)
  4708  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmMap))) = _multiplexShmMap
  4709  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmLock))) = _multiplexShmLock
  4710  	*(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmBarrier))) = _multiplexShmBarrier
  4711  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmUnmap))) = _multiplexShmUnmap
  4712  	bin.Xsqlite3_vfs_register(tls, &_gMultiplex.XsThisVfs, _makeDefault)
  4713  	bin.Xsqlite3_auto_extension(tls, func() func(*crt.TLS) { v := _multiplexFuncInit; return *(*func(*crt.TLS))(unsafe.Pointer(&v)) }())
  4714  	return int32(0)
  4715  }
  4716  
  4717  // C comment
  4718  //  /************************* Global Variables **********************************/
  4719  //  /*
  4720  //  ** All global variables used by this file are containing within the following
  4721  //  ** gMultiplex structure.
  4722  //  */
  4723  var _gMultiplex t10
  4724  
  4725  var _sqlite3_multiplex_initializeØ00__func__Ø000 [29]int8
  4726  
  4727  func init() {
  4728  	crt.Xstrncpy(nil, &_sqlite3_multiplex_initializeØ00__func__Ø000[0], str(6804), 29)
  4729  }
  4730  
  4731  // C comment
  4732  //  /*
  4733  //  ** This is the xOpen method used for the "multiplex" VFS.
  4734  //  **
  4735  //  ** Most of the work is done by the underlying original VFS.  This method
  4736  //  ** simply links the new file into the appropriate multiplex group if it is a
  4737  //  ** file that needs to be tracked.
  4738  //  */
  4739  func _multiplexOpen(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _pConn *bin.Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) {
  4740  	var _rc, _nName, _sz, _9_bExists, _12_iChunk int32
  4741  	var _8_sz64 int64
  4742  	var _zToFree, _3_zUri, _4_p *int8
  4743  	var _pSubOpen *bin.Xsqlite3_file
  4744  	var _pOrigVfs *bin.Xsqlite3_vfs
  4745  	var _pGroup *XmultiplexGroup
  4746  	var _pMultiplexOpen *XmultiplexConn
  4747  	_rc = int32(0)
  4748  	_pGroup = nil
  4749  	_pSubOpen = nil
  4750  	_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  4751  	_nName = int32(0)
  4752  	_sz = int32(0)
  4753  	_zToFree = nil
  4754  
  4755  	crt.Xmemset(tls, unsafe.Pointer(_pConn), int32(0), uint32(_pVfs.XszOsFile))
  4756  	func() {
  4757  		if _zName == nil && (_flags&int32(8)) == 0 {
  4758  			crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(484), unsafe.Pointer(&_multiplexOpenØ00__func__Ø000), unsafe.Pointer(str(6833)))
  4759  			crt.X__builtin_abort(tls)
  4760  		}
  4761  	}()
  4762  	_pMultiplexOpen = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  4763  	if _rc != int32(0) {
  4764  		goto _3
  4765  	}
  4766  	_nName = func() int32 {
  4767  		if _zName != nil {
  4768  			return _multiplexStrlen30(tls, _zName)
  4769  		}
  4770  		return int32(0)
  4771  	}()
  4772  	_sz = int32((uint32(28) + uint32(_nName)) + uint32(1))
  4773  	_pGroup = (*XmultiplexGroup)(bin.Xsqlite3_malloc64(tls, uint64(_sz)))
  4774  	if _pGroup == nil {
  4775  		_rc = int32(7)
  4776  	}
  4777  _3:
  4778  	if _rc != int32(0) {
  4779  		goto _7
  4780  	}
  4781  	_3_zUri = func() *int8 {
  4782  		if (_flags & int32(64)) != 0 {
  4783  			return _zName
  4784  		}
  4785  		return nil
  4786  	}()
  4787  	crt.Xmemset(tls, unsafe.Pointer(_pGroup), int32(0), uint32(_sz))
  4788  	*(**XmultiplexGroup)(unsafe.Pointer(&_pMultiplexOpen.XpGroup)) = _pGroup
  4789  	_pGroup.XbEnabled = uint8(255)
  4790  	_pGroup.XbTruncate = uint8(bin.Xsqlite3_uri_boolean(tls, _3_zUri, str(6878), bool2int((_flags&int32(256)) == int32(0))))
  4791  	_pGroup.XszChunk = uint32(int32(bin.Xsqlite3_uri_int64(tls, _3_zUri, str(6887), int64(2147418112))))
  4792  	_pGroup.XszChunk = (_pGroup.XszChunk + uint32(65535)) & uint32(4294901760)
  4793  	if _zName != nil {
  4794  		_4_p = (*int8)(unsafe.Pointer(elem11(_pGroup, uintptr(1))))
  4795  		_pGroup.XzName = _4_p
  4796  		crt.Xmemcpy(tls, unsafe.Pointer(_pGroup.XzName), unsafe.Pointer(_zName), uint32(_nName+int32(1)))
  4797  		_pGroup.XnName = _nName
  4798  	}
  4799  	if _pGroup.XbEnabled == 0 {
  4800  		goto _11
  4801  	}
  4802  _12:
  4803  	if (uint32(bin.Xsqlite3PendingByte()) % _pGroup.XszChunk) >= (_pGroup.XszChunk - uint32(65536)) {
  4804  		_pGroup.XszChunk += uint32(65536)
  4805  		goto _12
  4806  	}
  4807  _11:
  4808  	_pGroup.Xflags = _flags
  4809  	_rc = _multiplexSubFilename(tls, _pGroup, int32(1))
  4810  	if _rc != int32(0) {
  4811  		goto _14
  4812  	}
  4813  	_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, _pOutFlags, int32(0))
  4814  	if (_pSubOpen == nil) && (_rc == int32(0)) {
  4815  		_rc = int32(14)
  4816  	}
  4817  _14:
  4818  	if _rc != int32(0) {
  4819  		goto _17
  4820  	}
  4821  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 {
  4822  		v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileSize
  4823  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v))
  4824  	}()(tls, _pSubOpen, &_8_sz64)
  4825  	if _rc != int32(0) || _zName == nil {
  4826  		goto _19
  4827  	}
  4828  	if (_flags & int32(16384)) != 0 {
  4829  		_pGroup.XbEnabled = 0
  4830  		goto _29
  4831  	}
  4832  	if _8_sz64 != (0) {
  4833  		goto _22
  4834  	}
  4835  	if (_flags & int32(2048)) == 0 {
  4836  		goto _23
  4837  	}
  4838  	_12_iChunk = int32(1)
  4839  _24:
  4840  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  4841  		v := _pOrigVfs.XxAccess
  4842  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  4843  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0), &_9_bExists)
  4844  	if _rc != int32(0) || _9_bExists == 0 {
  4845  		goto _26
  4846  	}
  4847  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  4848  		v := _pOrigVfs.XxDelete
  4849  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  4850  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0))
  4851  	if _rc == int32(0) {
  4852  		_rc = _multiplexSubFilename(tls, _pGroup, preInc7(&_12_iChunk, 1))
  4853  	}
  4854  _26:
  4855  	if (_rc == int32(0)) && _9_bExists != 0 {
  4856  		goto _24
  4857  	}
  4858  _23:
  4859  	goto _29
  4860  _22:
  4861  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  4862  		v := _pOrigVfs.XxAccess
  4863  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  4864  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(1)).Xz, int32(0), &_9_bExists)
  4865  	_9_bExists = bool2int(_multiplexSubSize(tls, _pGroup, int32(1), &_rc) > (0))
  4866  	if ((((_rc == int32(0)) && _9_bExists != 0) && (_8_sz64 == (_8_sz64 & int64(4294901760)))) && (_8_sz64 > (0))) && (_8_sz64 != int64(_pGroup.XszChunk)) {
  4867  		_pGroup.XszChunk = uint32(int32(_8_sz64))
  4868  		goto _38
  4869  	}
  4870  	if ((_rc == int32(0)) && (_9_bExists == 0)) && (_8_sz64 > int64(_pGroup.XszChunk)) {
  4871  		_pGroup.XbEnabled = 0
  4872  	}
  4873  _38:
  4874  _29:
  4875  _19:
  4876  _17:
  4877  	if _rc != int32(0) {
  4878  		goto _39
  4879  	}
  4880  	if ((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XiVersion) == int32(1) {
  4881  		*(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV1
  4882  		goto _41
  4883  	}
  4884  	*(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV2
  4885  _41:
  4886  	goto _42
  4887  _39:
  4888  	_multiplexFreeComponents(tls, _pGroup)
  4889  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup))
  4890  _42:
  4891  _7:
  4892  	bin.Xsqlite3_free(tls, unsafe.Pointer(_zToFree))
  4893  	return _rc
  4894  }
  4895  
  4896  var _multiplexOpenØ00__func__Ø000 [14]int8
  4897  
  4898  func init() {
  4899  	crt.Xstrncpy(nil, &_multiplexOpenØ00__func__Ø000[0], str(6897), 14)
  4900  }
  4901  
  4902  // C comment
  4903  //  /************************* Utility Routines *********************************/
  4904  //  /*
  4905  //  ** Compute a string length that is limited to what can be stored in
  4906  //  ** lower 30 bits of a 32-bit signed integer.
  4907  //  **
  4908  //  ** The value returned will never be negative.  Nor will it ever be greater
  4909  //  ** than the actual length of the string.  For very long strings (greater
  4910  //  ** than 1GiB) the value returned might be less than the true string length.
  4911  //  */
  4912  func _multiplexStrlen30(tls *crt.TLS, _z *int8) (r0 int32) {
  4913  	var _z2 *int8
  4914  	_z2 = _z
  4915  	if _z == nil {
  4916  		return int32(0)
  4917  	}
  4918  _0:
  4919  	if (*_z2) != 0 {
  4920  		*(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1)
  4921  		goto _0
  4922  	}
  4923  	return int32(1073741823) & int32(uintptr(unsafe.Pointer(_z2))-uintptr(unsafe.Pointer(_z)))
  4924  }
  4925  
  4926  // C comment
  4927  //  /* Compute the filename for the iChunk-th chunk
  4928  //  */
  4929  func _multiplexSubFilename(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32) (r0 int32) {
  4930  	var _3_n int32
  4931  	var _3_z *int8
  4932  	var _1_p *TmultiplexReal
  4933  	if _iChunk < _pGroup.XnReal {
  4934  		goto _0
  4935  	}
  4936  	_1_p = (*TmultiplexReal)(bin.Xsqlite3_realloc64(tls, _pGroup.XaReal, uint64(uint32(_iChunk+int32(1))*uint32(8))))
  4937  	if _1_p == nil {
  4938  		return int32(7)
  4939  	}
  4940  	crt.Xmemset(tls, unsafe.Pointer(elem12(_1_p, uintptr(_pGroup.XnReal))), int32(0), uint32(8)*uint32((_iChunk+int32(1))-_pGroup.XnReal))
  4941  	*(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = _1_p
  4942  	_pGroup.XnReal = _iChunk + int32(1)
  4943  _0:
  4944  	if _pGroup.XzName == nil || (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil {
  4945  		goto _3
  4946  	}
  4947  	_3_n = _pGroup.XnName
  4948  	elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz = store2(&_3_z, (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_3_n+int32(5)))))
  4949  	if _3_z == nil {
  4950  		return int32(7)
  4951  	}
  4952  	_multiplexFilename(tls, _pGroup.XzName, _pGroup.XnName, _pGroup.Xflags, _iChunk, _3_z)
  4953  _3:
  4954  	return int32(0)
  4955  }
  4956  
  4957  // C comment
  4958  //  /*
  4959  //  ** Generate the file-name for chunk iChunk of the group with base name
  4960  //  ** zBase. The file-name is written to buffer zOut before returning. Buffer
  4961  //  ** zOut must be allocated by the caller so that it is at least (nBase+5)
  4962  //  ** bytes in size, where nBase is the length of zBase, not including the
  4963  //  ** nul-terminator.
  4964  //  **
  4965  //  ** If iChunk is 0 (or 400 - the number for the first journal file chunk),
  4966  //  ** the output is a copy of the input string. Otherwise, if
  4967  //  ** SQLITE_ENABLE_8_3_NAMES is not defined or the input buffer does not contain
  4968  //  ** a "." character, then the output is a copy of the input string with the
  4969  //  ** three-digit zero-padded decimal representation if iChunk appended to it.
  4970  //  ** For example:
  4971  //  **
  4972  //  **   zBase="test.db", iChunk=4  ->  zOut="test.db004"
  4973  //  **
  4974  //  ** Or, if SQLITE_ENABLE_8_3_NAMES is defined and the input buffer contains
  4975  //  ** a "." character, then everything after the "." is replaced by the
  4976  //  ** three-digit representation of iChunk.
  4977  //  **
  4978  //  **   zBase="test.db", iChunk=4  ->  zOut="test.004"
  4979  //  **
  4980  //  ** The output buffer string is terminated by 2 0x00 bytes. This makes it safe
  4981  //  ** to pass to sqlite3_uri_parameter() and similar.
  4982  //  */
  4983  func _multiplexFilename(tls *crt.TLS, _zBase *int8, _nBase int32, _flags int32, _iChunk int32, _zOut *int8) {
  4984  	var _n int32
  4985  	_n = _nBase
  4986  	crt.Xmemcpy(tls, unsafe.Pointer(_zOut), unsafe.Pointer(_zBase), uint32(_n+int32(1)))
  4987  	if (_iChunk != int32(0)) && (_iChunk <= int32(299)) {
  4988  		bin.Xsqlite3_snprintf(tls, int32(4), elem2(_zOut, uintptr(_n)), str(6911), _iChunk)
  4989  		_n += int32(3)
  4990  	}
  4991  	func() {
  4992  		if int32(*elem2(_zOut, uintptr(_n))) != int32(0) {
  4993  			crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(250), unsafe.Pointer(&_multiplexFilenameØ00__func__Ø000), unsafe.Pointer(str(6916)))
  4994  			crt.X__builtin_abort(tls)
  4995  		}
  4996  	}()
  4997  	*elem2(_zOut, uintptr(_n+int32(1))) = 0
  4998  }
  4999  
  5000  var _multiplexFilenameØ00__func__Ø000 [18]int8
  5001  
  5002  func init() {
  5003  	crt.Xstrncpy(nil, &_multiplexFilenameØ00__func__Ø000[0], str(6930), 18)
  5004  }
  5005  
  5006  // C comment
  5007  //  /* Translate an sqlite3_file* that is really a multiplexGroup* into
  5008  //  ** the sqlite3_file* for the underlying original VFS.
  5009  //  **
  5010  //  ** For chunk 0, the pGroup->flags determines whether or not a new file
  5011  //  ** is created if it does not already exist.  For chunks 1 and higher, the
  5012  //  ** file is created only if createFlag is 1.
  5013  //  */
  5014  func _multiplexSubOpen(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32, _pOutFlags *int32, _createFlag int32) (r0 *bin.Xsqlite3_file) {
  5015  	var _1_flags, _1_bExists int32
  5016  	var _pSubOpen *bin.Xsqlite3_file
  5017  	var _pOrigVfs *bin.Xsqlite3_vfs
  5018  	_pSubOpen = nil
  5019  	_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  5020  	*_rc = _multiplexSubFilename(tls, _pGroup, _iChunk)
  5021  	if (*_rc) != int32(0) || store13(&_pSubOpen, (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)) != nil {
  5022  		goto _1
  5023  	}
  5024  	_1_flags = _pGroup.Xflags
  5025  	if _createFlag != 0 {
  5026  		_1_flags |= int32(4)
  5027  		goto _7
  5028  	}
  5029  	if _iChunk == int32(0) {
  5030  		goto _7
  5031  	}
  5032  	if (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) == nil {
  5033  		return nil
  5034  	}
  5035  	*_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5036  		v := _pOrigVfs.XxAccess
  5037  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5038  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0), &_1_bExists)
  5039  	if (*_rc) == 0 && _1_bExists != 0 {
  5040  		goto _9
  5041  	}
  5042  	if (*_rc) != 0 {
  5043  		bin.Xsqlite3_log(tls, *_rc, str(6948), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz))
  5044  	}
  5045  	return nil
  5046  
  5047  _9:
  5048  	_1_flags &= int32(-5)
  5049  _7:
  5050  	_pSubOpen = (*bin.Xsqlite3_file)(bin.Xsqlite3_malloc64(tls, uint64(_pOrigVfs.XszOsFile)))
  5051  	if _pSubOpen == nil {
  5052  		*_rc = int32(3082)
  5053  		return nil
  5054  	}
  5055  	*(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = _pSubOpen
  5056  	*_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32 {
  5057  		v := _pOrigVfs.XxOpen
  5058  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&v))
  5059  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, _pSubOpen, _1_flags, _pOutFlags)
  5060  	if (*_rc) != int32(0) {
  5061  		bin.Xsqlite3_log(tls, *_rc, str(6982), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz))
  5062  		bin.Xsqlite3_free(tls, unsafe.Pointer(_pSubOpen))
  5063  		*(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = nil
  5064  		return nil
  5065  	}
  5066  _1:
  5067  	return _pSubOpen
  5068  }
  5069  
  5070  // C comment
  5071  //  /*
  5072  //  ** Return the size, in bytes, of chunk number iChunk.  If that chunk
  5073  //  ** does not exist, then return 0.  This function does not distingish between
  5074  //  ** non-existant files and zero-length files.
  5075  //  */
  5076  func _multiplexSubSize(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32) (r0 int64) {
  5077  	var _sz int64
  5078  	var _pSub *bin.Xsqlite3_file
  5079  	_sz = int64(0)
  5080  	if (*_rc) != 0 {
  5081  		return 0
  5082  	}
  5083  	_pSub = _multiplexSubOpen(tls, _pGroup, _iChunk, _rc, nil, int32(0))
  5084  	if _pSub == nil {
  5085  		return 0
  5086  	}
  5087  	*_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 {
  5088  		v := (*bin.Xsqlite3_io_methods)(_pSub.XpMethods).XxFileSize
  5089  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v))
  5090  	}()(tls, _pSub, &_sz)
  5091  	return _sz
  5092  }
  5093  
  5094  // C comment
  5095  //  /*
  5096  //  ** Deallocate memory held by a multiplexGroup
  5097  //  */
  5098  func _multiplexFreeComponents(tls *crt.TLS, _pGroup *XmultiplexGroup) {
  5099  	var _i int32
  5100  	_i = int32(0)
  5101  _0:
  5102  	if _i >= _pGroup.XnReal {
  5103  		goto _3
  5104  	}
  5105  	_multiplexSubClose(tls, _pGroup, _i, nil)
  5106  	_i += 1
  5107  	goto _0
  5108  _3:
  5109  	bin.Xsqlite3_free(tls, _pGroup.XaReal)
  5110  	*(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = nil
  5111  	_pGroup.XnReal = int32(0)
  5112  }
  5113  
  5114  // C comment
  5115  //  /*
  5116  //  ** Close a single sub-file in the connection group.
  5117  //  */
  5118  func _multiplexSubClose(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _pOrigVfs *bin.Xsqlite3_vfs) {
  5119  	var _pSubOpen *bin.Xsqlite3_file
  5120  	_pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)
  5121  	if _pSubOpen == nil {
  5122  		goto _0
  5123  	}
  5124  	func() func(*crt.TLS, *bin.Xsqlite3_file) int32 {
  5125  		v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxClose
  5126  		return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v))
  5127  	}()(tls, _pSubOpen)
  5128  	if (_pOrigVfs != nil) && ((elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil) {
  5129  		func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5130  			v := _pOrigVfs.XxDelete
  5131  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5132  		}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0))
  5133  	}
  5134  	bin.Xsqlite3_free(tls, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)
  5135  _0:
  5136  	bin.Xsqlite3_free(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz))
  5137  	crt.Xmemset(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk))), int32(0), uint32(8))
  5138  }
  5139  
  5140  // C comment
  5141  //  /*
  5142  //  ** This is the xDelete method used for the "multiplex" VFS.
  5143  //  ** It attempts to delete the filename specified.
  5144  //  */
  5145  func _multiplexDelete(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _syncDir int32) (r0 int32) {
  5146  	var _rc, _1_nName, _3_iChunk, _3_bExists int32
  5147  	var _1_z *int8
  5148  	var _pOrigVfs *bin.Xsqlite3_vfs
  5149  	_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  5150  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5151  		v := _pOrigVfs.XxDelete
  5152  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5153  	}()(tls, _pOrigVfs, _zName, _syncDir)
  5154  	if _rc != int32(0) {
  5155  		goto _0
  5156  	}
  5157  	_1_nName = int32(crt.Xstrlen(tls, _zName))
  5158  	_1_z = (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_1_nName+int32(5))))
  5159  	if _1_z == nil {
  5160  		_rc = int32(3082)
  5161  		goto _2
  5162  	}
  5163  	_3_iChunk = int32(0)
  5164  _3:
  5165  	_multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, 1), _1_z)
  5166  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5167  		v := _pOrigVfs.XxAccess
  5168  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5169  	}()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists)
  5170  	if (_rc == int32(0)) && _3_bExists != 0 {
  5171  		goto _3
  5172  	}
  5173  _5:
  5174  	if (_rc == int32(0)) && (_3_iChunk > int32(1)) {
  5175  		_multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, -1), _1_z)
  5176  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5177  			v := _pOrigVfs.XxDelete
  5178  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5179  		}()(tls, _pOrigVfs, _1_z, _syncDir)
  5180  		goto _5
  5181  	}
  5182  	if _rc != int32(0) {
  5183  		goto _8
  5184  	}
  5185  	_3_iChunk = int32(0)
  5186  _9:
  5187  	_multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, 1), _1_z)
  5188  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5189  		v := _pOrigVfs.XxAccess
  5190  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5191  	}()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists)
  5192  	if (_rc == int32(0)) && _3_bExists != 0 {
  5193  		goto _9
  5194  	}
  5195  _11:
  5196  	if (_rc == int32(0)) && (_3_iChunk > int32(1)) {
  5197  		_multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, -1), _1_z)
  5198  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5199  			v := _pOrigVfs.XxDelete
  5200  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5201  		}()(tls, _pOrigVfs, _1_z, _syncDir)
  5202  		goto _11
  5203  	}
  5204  _8:
  5205  _2:
  5206  	bin.Xsqlite3_free(tls, unsafe.Pointer(_1_z))
  5207  _0:
  5208  	return _rc
  5209  }
  5210  
  5211  func _multiplexAccess(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int32) (r0 int32) {
  5212  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5213  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxAccess
  5214  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5215  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d)
  5216  }
  5217  
  5218  func _multiplexFullPathname(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int8) (r0 int32) {
  5219  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32 {
  5220  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxFullPathname
  5221  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&v))
  5222  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d)
  5223  }
  5224  
  5225  func _multiplexDlOpen(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8) (r0 unsafe.Pointer) {
  5226  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer {
  5227  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlOpen
  5228  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&v))
  5229  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5230  }
  5231  
  5232  func _multiplexDlError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) {
  5233  	func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) {
  5234  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlError
  5235  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&v))
  5236  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5237  }
  5238  
  5239  func _multiplexDlSym(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer, _c *int8) (r0 func(*crt.TLS)) {
  5240  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) {
  5241  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlSym
  5242  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&v))
  5243  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5244  }
  5245  
  5246  func _multiplexDlClose(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer) {
  5247  	func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer) {
  5248  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlClose
  5249  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&v))
  5250  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5251  }
  5252  
  5253  func _multiplexRandomness(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) {
  5254  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 {
  5255  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxRandomness
  5256  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v))
  5257  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5258  }
  5259  
  5260  func _multiplexSleep(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32) (r0 int32) {
  5261  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32 {
  5262  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxSleep
  5263  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&v))
  5264  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5265  }
  5266  
  5267  func _multiplexCurrentTime(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *float64) (r0 int32) {
  5268  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 {
  5269  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTime
  5270  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v))
  5271  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5272  }
  5273  
  5274  func _multiplexGetLastError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) {
  5275  	if ((*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError) != nil {
  5276  		return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 {
  5277  			v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError
  5278  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v))
  5279  		}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5280  	}
  5281  	return int32(0)
  5282  }
  5283  
  5284  func _multiplexCurrentTimeInt64(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int64) (r0 int32) {
  5285  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 {
  5286  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTimeInt64
  5287  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v))
  5288  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5289  }
  5290  
  5291  // C comment
  5292  //  /* xClose requests get passed through to the original VFS.
  5293  //  ** We loop over all open chunk handles and close them.
  5294  //  ** The group structure for this file is unlinked from
  5295  //  ** our list of groups and freed.
  5296  //  */
  5297  func _multiplexClose(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) {
  5298  	var _rc int32
  5299  	var _pGroup *XmultiplexGroup
  5300  	var _p *XmultiplexConn
  5301  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5302  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5303  	_rc = int32(0)
  5304  	_multiplexFreeComponents(tls, _pGroup)
  5305  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup))
  5306  	return _rc
  5307  }
  5308  
  5309  // C comment
  5310  //  /* Pass xRead requests thru to the original VFS after
  5311  //  ** determining the correct chunk to operate on.
  5312  //  ** Break up reads across chunk boundaries.
  5313  //  */
  5314  func _multiplexRead(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) {
  5315  	var _rc, _5_i, _6_extra int32
  5316  	var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file
  5317  	var _pGroup *XmultiplexGroup
  5318  	var _p *XmultiplexConn
  5319  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5320  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5321  	_rc = int32(0)
  5322  	if _pGroup.XbEnabled != 0 {
  5323  		goto _0
  5324  	}
  5325  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5326  	if _1_pSubOpen == nil {
  5327  		_rc = int32(266)
  5328  		goto _2
  5329  	}
  5330  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5331  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxRead
  5332  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5333  	}()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst)
  5334  _2:
  5335  	goto _3
  5336  _0:
  5337  _4:
  5338  	if _iAmt <= int32(0) {
  5339  		goto _5
  5340  	}
  5341  	_5_i = int32(_iOfst / int64(_pGroup.XszChunk))
  5342  	_5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1))
  5343  	if _5_pSubOpen == nil {
  5344  		goto _6
  5345  	}
  5346  	_6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk)
  5347  	if _6_extra < int32(0) {
  5348  		_6_extra = int32(0)
  5349  	}
  5350  	_iAmt -= _6_extra
  5351  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5352  		v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxRead
  5353  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5354  	}()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk))
  5355  	if _rc != int32(0) {
  5356  		goto _5
  5357  	}
  5358  	_pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt))))
  5359  	_iOfst += int64(_iAmt)
  5360  	_iAmt = _6_extra
  5361  	goto _9
  5362  _6:
  5363  	_rc = int32(266)
  5364  	goto _5
  5365  _9:
  5366  	goto _4
  5367  _5:
  5368  _3:
  5369  	return _rc
  5370  }
  5371  
  5372  // C comment
  5373  //  /* Pass xWrite requests thru to the original VFS after
  5374  //  ** determining the correct chunk to operate on.
  5375  //  ** Break up writes across chunk boundaries.
  5376  //  */
  5377  func _multiplexWrite(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) {
  5378  	var _rc, _5_i, _6_extra int32
  5379  	var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file
  5380  	var _pGroup *XmultiplexGroup
  5381  	var _p *XmultiplexConn
  5382  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5383  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5384  	_rc = int32(0)
  5385  	if _pGroup.XbEnabled != 0 {
  5386  		goto _0
  5387  	}
  5388  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5389  	if _1_pSubOpen == nil {
  5390  		_rc = int32(778)
  5391  		goto _2
  5392  	}
  5393  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5394  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxWrite
  5395  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5396  	}()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst)
  5397  _2:
  5398  	goto _3
  5399  _0:
  5400  _4:
  5401  	if _rc != int32(0) || _iAmt <= int32(0) {
  5402  		goto _5
  5403  	}
  5404  	_5_i = int32(_iOfst / int64(_pGroup.XszChunk))
  5405  	_5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1))
  5406  	if _5_pSubOpen == nil {
  5407  		goto _7
  5408  	}
  5409  	_6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk)
  5410  	if _6_extra < int32(0) {
  5411  		_6_extra = int32(0)
  5412  	}
  5413  	_iAmt -= _6_extra
  5414  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5415  		v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxWrite
  5416  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5417  	}()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk))
  5418  	_pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt))))
  5419  	_iOfst += int64(_iAmt)
  5420  	_iAmt = _6_extra
  5421  _7:
  5422  	goto _4
  5423  _5:
  5424  _3:
  5425  	return _rc
  5426  }
  5427  
  5428  // C comment
  5429  //  /* Pass xTruncate requests thru to the original VFS after
  5430  //  ** determining the correct chunk to operate on.  Delete any
  5431  //  ** chunks above the truncate mark.
  5432  //  */
  5433  func _multiplexTruncate(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _size int64) (r0 int32) {
  5434  	var _rc, _4_i, _4_iBaseGroup int32
  5435  	var _1_pSubOpen, _4_pSubOpen *bin.Xsqlite3_file
  5436  	var _4_pOrigVfs *bin.Xsqlite3_vfs
  5437  	var _pGroup *XmultiplexGroup
  5438  	var _p *XmultiplexConn
  5439  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5440  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5441  	_rc = int32(0)
  5442  	if _pGroup.XbEnabled != 0 {
  5443  		goto _0
  5444  	}
  5445  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5446  	if _1_pSubOpen == nil {
  5447  		_rc = int32(1546)
  5448  		goto _2
  5449  	}
  5450  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 {
  5451  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxTruncate
  5452  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v))
  5453  	}()(tls, _1_pSubOpen, _size)
  5454  _2:
  5455  	goto _3
  5456  _0:
  5457  	_4_iBaseGroup = int32(_size / int64(_pGroup.XszChunk))
  5458  	_4_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  5459  	_4_i = _pGroup.XnReal - int32(1)
  5460  _4:
  5461  	if _4_i <= _4_iBaseGroup || _rc != int32(0) {
  5462  		goto _8
  5463  	}
  5464  	if _pGroup.XbTruncate != 0 {
  5465  		_multiplexSubClose(tls, _pGroup, _4_i, _4_pOrigVfs)
  5466  		goto _10
  5467  	}
  5468  	_4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_i, &_rc, nil, int32(0))
  5469  	if _4_pSubOpen != nil {
  5470  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 {
  5471  			v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate
  5472  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v))
  5473  		}()(tls, _4_pSubOpen, 0)
  5474  	}
  5475  _10:
  5476  	_4_i -= 1
  5477  	goto _4
  5478  _8:
  5479  	if _rc != int32(0) {
  5480  		goto _12
  5481  	}
  5482  	_4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_iBaseGroup, &_rc, nil, int32(0))
  5483  	if _4_pSubOpen != nil {
  5484  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 {
  5485  			v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate
  5486  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v))
  5487  		}()(tls, _4_pSubOpen, _size%int64(_pGroup.XszChunk))
  5488  	}
  5489  _12:
  5490  	if _rc != 0 {
  5491  		_rc = int32(1546)
  5492  	}
  5493  _3:
  5494  	return _rc
  5495  }
  5496  
  5497  // C comment
  5498  //  /* Pass xSync requests through to the original VFS without change
  5499  //  */
  5500  func _multiplexSync(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _flags int32) (r0 int32) {
  5501  	var _rc, _i, _2_rc2 int32
  5502  	var _1_pSubOpen *bin.Xsqlite3_file
  5503  	var _pGroup *XmultiplexGroup
  5504  	var _p *XmultiplexConn
  5505  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5506  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5507  	_rc = int32(0)
  5508  	_i = int32(0)
  5509  _0:
  5510  	if _i >= _pGroup.XnReal {
  5511  		goto _3
  5512  	}
  5513  	_1_pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_i)).Xp)
  5514  	if _1_pSubOpen == nil {
  5515  		goto _4
  5516  	}
  5517  	_2_rc2 = func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5518  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxSync
  5519  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5520  	}()(tls, _1_pSubOpen, _flags)
  5521  	if _2_rc2 != int32(0) {
  5522  		_rc = _2_rc2
  5523  	}
  5524  _4:
  5525  	_i += 1
  5526  	goto _0
  5527  _3:
  5528  	return _rc
  5529  }
  5530  
  5531  // C comment
  5532  //  /* Pass xFileSize requests through to the original VFS.
  5533  //  ** Aggregate the size of all the chunks before returning.
  5534  //  */
  5535  func _multiplexFileSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pSize *int64) (r0 int32) {
  5536  	var _rc, _i int32
  5537  	var _5_sz int64
  5538  	var _1_pSubOpen *bin.Xsqlite3_file
  5539  	var _pGroup *XmultiplexGroup
  5540  	var _p *XmultiplexConn
  5541  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5542  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5543  	_rc = int32(0)
  5544  	if _pGroup.XbEnabled != 0 {
  5545  		goto _0
  5546  	}
  5547  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5548  	if _1_pSubOpen == nil {
  5549  		_rc = int32(1802)
  5550  		goto _2
  5551  	}
  5552  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 {
  5553  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxFileSize
  5554  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v))
  5555  	}()(tls, _1_pSubOpen, _pSize)
  5556  _2:
  5557  	goto _3
  5558  _0:
  5559  	*_pSize = 0
  5560  	_i = int32(0)
  5561  _4:
  5562  	if _rc != int32(0) {
  5563  		goto _7
  5564  	}
  5565  	_5_sz = _multiplexSubSize(tls, _pGroup, _i, &_rc)
  5566  	if _5_sz == (0) {
  5567  		goto _7
  5568  	}
  5569  	*_pSize = (int64(_i) * int64(_pGroup.XszChunk)) + _5_sz
  5570  	_i += 1
  5571  	goto _4
  5572  _7:
  5573  _3:
  5574  	return _rc
  5575  }
  5576  
  5577  // C comment
  5578  //  /* Pass xLock requests through to the original VFS unchanged.
  5579  //  */
  5580  func _multiplexLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) {
  5581  	var _rc int32
  5582  	var _pSubOpen *bin.Xsqlite3_file
  5583  	var _p *XmultiplexConn
  5584  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5585  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5586  	if _pSubOpen != nil {
  5587  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5588  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxLock
  5589  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5590  		}()(tls, _pSubOpen, _lock)
  5591  	}
  5592  	return int32(5)
  5593  }
  5594  
  5595  // C comment
  5596  //  /* Pass xUnlock requests through to the original VFS unchanged.
  5597  //  */
  5598  func _multiplexUnlock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) {
  5599  	var _rc int32
  5600  	var _pSubOpen *bin.Xsqlite3_file
  5601  	var _p *XmultiplexConn
  5602  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5603  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5604  	if _pSubOpen != nil {
  5605  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5606  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxUnlock
  5607  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5608  		}()(tls, _pSubOpen, _lock)
  5609  	}
  5610  	return int32(2058)
  5611  }
  5612  
  5613  // C comment
  5614  //  /* Pass xCheckReservedLock requests through to the original VFS unchanged.
  5615  //  */
  5616  func _multiplexCheckReservedLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pResOut *int32) (r0 int32) {
  5617  	var _rc int32
  5618  	var _pSubOpen *bin.Xsqlite3_file
  5619  	var _p *XmultiplexConn
  5620  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5621  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5622  	if _pSubOpen != nil {
  5623  		return func() func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32 {
  5624  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxCheckReservedLock
  5625  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&v))
  5626  		}()(tls, _pSubOpen, _pResOut)
  5627  	}
  5628  	return int32(3594)
  5629  }
  5630  
  5631  // C comment
  5632  //  /* Pass xFileControl requests through to the original VFS unchanged,
  5633  //  ** except for any MULTIPLEX_CTRL_* requests here.
  5634  //  */
  5635  func _multiplexFileControl(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) {
  5636  	var _rc, _2_bEnabled int32
  5637  	var _3_szChunk uint32
  5638  	var _6_aFcntl **int8
  5639  	var _pSubOpen *bin.Xsqlite3_file
  5640  	var _pGroup *XmultiplexGroup
  5641  	var _p *XmultiplexConn
  5642  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5643  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5644  	_rc = int32(1)
  5645  	if _gMultiplex.XisInitialized == 0 {
  5646  		return int32(21)
  5647  	}
  5648  	switch _op {
  5649  	case int32(5):
  5650  		goto _5
  5651  	case int32(6):
  5652  		goto _5
  5653  	case int32(14):
  5654  		goto _7
  5655  	case int32(214014):
  5656  		goto _2
  5657  	case int32(214015):
  5658  		goto _3
  5659  	case int32(214016):
  5660  		goto _4
  5661  	default:
  5662  		goto _8
  5663  	}
  5664  
  5665  _2:
  5666  	if _pArg != nil {
  5667  		_2_bEnabled = *(*int32)(_pArg)
  5668  		_pGroup.XbEnabled = uint8(_2_bEnabled)
  5669  		_rc = int32(0)
  5670  	}
  5671  	goto _10
  5672  _3:
  5673  	if _pArg == nil {
  5674  		goto _11
  5675  	}
  5676  	_3_szChunk = *(*uint32)(_pArg)
  5677  	if _3_szChunk < uint32(1) {
  5678  		_rc = int32(21)
  5679  		goto _13
  5680  	}
  5681  	_3_szChunk = _3_szChunk + uint32(65535)
  5682  	_3_szChunk &= uint32(4294901760)
  5683  	_pGroup.XszChunk = _3_szChunk
  5684  	_rc = int32(0)
  5685  _13:
  5686  _11:
  5687  	goto _10
  5688  _4:
  5689  	_rc = int32(0)
  5690  	goto _10
  5691  _5:
  5692  	_rc = int32(0)
  5693  	goto _10
  5694  _7:
  5695  	_6_aFcntl = (**int8)(_pArg)
  5696  	if (*elem1(_6_aFcntl, uintptr(1))) == nil || bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(1)), str(7014)) != int32(0) {
  5697  		goto _15
  5698  	}
  5699  	if (*elem1(_6_aFcntl, uintptr(2))) == nil || (*elem2(*elem1(_6_aFcntl, uintptr(2)), 0)) == 0 {
  5700  		goto _17
  5701  	}
  5702  	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)) {
  5703  		_pGroup.XbTruncate = uint8(1)
  5704  		goto _22
  5705  	}
  5706  	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)) {
  5707  		_pGroup.XbTruncate = 0
  5708  	}
  5709  _22:
  5710  _17:
  5711  	*elem1(_6_aFcntl, 0) = bin.Xsqlite3_mprintf(tls, func() *int8 {
  5712  		if _pGroup.XbTruncate != 0 {
  5713  			return str(7033)
  5714  		}
  5715  		return str(7038)
  5716  	}())
  5717  	_rc = int32(0)
  5718  	goto _10
  5719  _15:
  5720  _8:
  5721  	_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5722  	if _pSubOpen == nil {
  5723  		goto _25
  5724  	}
  5725  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32 {
  5726  		v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileControl
  5727  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&v))
  5728  	}()(tls, _pSubOpen, _op, _pArg)
  5729  	if (_op == int32(12)) && (_rc == int32(0)) {
  5730  		*(**int8)(_pArg) = bin.Xsqlite3_mprintf(tls, str(7044), unsafe.Pointer(*(**int8)(_pArg)))
  5731  	}
  5732  _25:
  5733  	goto _10
  5734  _10:
  5735  	return _rc
  5736  }
  5737  
  5738  // C comment
  5739  //  /* Pass xSectorSize requests through to the original VFS unchanged.
  5740  //  */
  5741  func _multiplexSectorSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) {
  5742  	var _rc int32
  5743  	var _pSubOpen *bin.Xsqlite3_file
  5744  	var _p *XmultiplexConn
  5745  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5746  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5747  	if (_pSubOpen != nil) && (((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize) != nil) {
  5748  		return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 {
  5749  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize
  5750  			return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v))
  5751  		}()(tls, _pSubOpen)
  5752  	}
  5753  	return int32(4096)
  5754  }
  5755  
  5756  // C comment
  5757  //  /* Pass xDeviceCharacteristics requests through to the original VFS unchanged.
  5758  //  */
  5759  func _multiplexDeviceCharacteristics(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) {
  5760  	var _rc int32
  5761  	var _pSubOpen *bin.Xsqlite3_file
  5762  	var _p *XmultiplexConn
  5763  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5764  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5765  	if _pSubOpen != nil {
  5766  		return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 {
  5767  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxDeviceCharacteristics
  5768  			return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v))
  5769  		}()(tls, _pSubOpen)
  5770  	}
  5771  	return int32(0)
  5772  }
  5773  
  5774  // C comment
  5775  //  /* Pass xShmMap requests through to the original VFS unchanged.
  5776  //  */
  5777  func _multiplexShmMap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _iRegion int32, _szRegion int32, _bExtend int32, _pp *unsafe.Pointer) (r0 int32) {
  5778  	var _rc int32
  5779  	var _pSubOpen *bin.Xsqlite3_file
  5780  	var _p *XmultiplexConn
  5781  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5782  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5783  	if _pSubOpen != nil {
  5784  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32 {
  5785  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmMap
  5786  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&v))
  5787  		}()(tls, _pSubOpen, _iRegion, _szRegion, _bExtend, _pp)
  5788  	}
  5789  	return int32(10)
  5790  }
  5791  
  5792  // C comment
  5793  //  /* Pass xShmLock requests through to the original VFS unchanged.
  5794  //  */
  5795  func _multiplexShmLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _ofst int32, _n int32, _flags int32) (r0 int32) {
  5796  	var _rc int32
  5797  	var _pSubOpen *bin.Xsqlite3_file
  5798  	var _p *XmultiplexConn
  5799  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5800  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5801  	if _pSubOpen != nil {
  5802  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32 {
  5803  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmLock
  5804  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&v))
  5805  		}()(tls, _pSubOpen, _ofst, _n, _flags)
  5806  	}
  5807  	return int32(5)
  5808  }
  5809  
  5810  // C comment
  5811  //  /* Pass xShmBarrier requests through to the original VFS unchanged.
  5812  //  */
  5813  func _multiplexShmBarrier(tls *crt.TLS, _pConn *bin.Xsqlite3_file) {
  5814  	var _rc int32
  5815  	var _pSubOpen *bin.Xsqlite3_file
  5816  	var _p *XmultiplexConn
  5817  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5818  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5819  	if _pSubOpen != nil {
  5820  		func() func(*crt.TLS, *bin.Xsqlite3_file) {
  5821  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmBarrier
  5822  			return *(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&v))
  5823  		}()(tls, _pSubOpen)
  5824  	}
  5825  }
  5826  
  5827  // C comment
  5828  //  /* Pass xShmUnmap requests through to the original VFS unchanged.
  5829  //  */
  5830  func _multiplexShmUnmap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _deleteFlag int32) (r0 int32) {
  5831  	var _rc int32
  5832  	var _pSubOpen *bin.Xsqlite3_file
  5833  	var _p *XmultiplexConn
  5834  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5835  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5836  	if _pSubOpen != nil {
  5837  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5838  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmUnmap
  5839  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5840  		}()(tls, _pSubOpen, _deleteFlag)
  5841  	}
  5842  	return int32(0)
  5843  }
  5844  
  5845  // C comment
  5846  //  /*
  5847  //  ** This is the entry point to register the auto-extension for the
  5848  //  ** multiplex_control() function.
  5849  //  */
  5850  func _multiplexFuncInit(tls *crt.TLS, _db unsafe.Pointer, _pzErrMsg **int8, _pApi *t14) (r0 int32) {
  5851  	var _rc int32
  5852  	_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) {
  5853  		v := _multiplexControlFunc
  5854  		return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v))
  5855  	}(), nil, nil)
  5856  	return _rc
  5857  }
  5858  
  5859  // C comment
  5860  //  /*
  5861  //  ** This is the implementation of the multiplex_control() SQL function.
  5862  //  */
  5863  func _multiplexControlFunc(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) {
  5864  	var _rc, _op, _iVal int32
  5865  	var _db unsafe.Pointer
  5866  	_rc = int32(0)
  5867  	_db = unsafe.Pointer(bin.Xsqlite3_context_db_handle(tls, (*bin.Xsqlite3_context)(_context)))
  5868  	_op = int32(0)
  5869  	if (_db == nil) || (_argc != int32(2)) {
  5870  		_rc = int32(1)
  5871  		goto _2
  5872  	}
  5873  	_op = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, 0)))
  5874  	_iVal = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, uintptr(1))))
  5875  	switch _op {
  5876  	case int32(1):
  5877  		goto _4
  5878  	case int32(2):
  5879  		goto _5
  5880  	case int32(3):
  5881  		goto _6
  5882  	default:
  5883  		goto _7
  5884  	}
  5885  
  5886  _4:
  5887  	_op = int32(214014)
  5888  	goto _8
  5889  _5:
  5890  	_op = int32(214015)
  5891  	goto _8
  5892  _6:
  5893  	_op = int32(214016)
  5894  	goto _8
  5895  _7:
  5896  	_rc = int32(12)
  5897  	goto _8
  5898  _8:
  5899  _2:
  5900  	if _rc == int32(0) {
  5901  		_rc = bin.Xsqlite3_file_control(tls, (*bin.Xsqlite3)(_db), nil, _op, unsafe.Pointer(&_iVal))
  5902  	}
  5903  	bin.Xsqlite3_result_error_code(tls, (*bin.Xsqlite3_context)(_context), _rc)
  5904  	_ = _iVal
  5905  }
  5906  
  5907  func bool2int(b bool) int32 {
  5908  	if b {
  5909  		return 1
  5910  	}
  5911  	return 0
  5912  }
  5913  func bug20530(interface{}) {} //TODO remove when https://github.com/golang/go/issues/20530 is fixed.
  5914  func init()                { nzf32 *= -1; nzf64 *= -1 }
  5915  
  5916  var inf = math.Inf(1)
  5917  var nzf32 float32 // -0.0
  5918  var nzf64 float64 // -0.0
  5919  func elem1(a **int8, index uintptr) **int8 {
  5920  	return (**int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
  5921  }
  5922  func elem3(a *unsafe.Pointer, index uintptr) *unsafe.Pointer {
  5923  	return (*unsafe.Pointer)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
  5924  }
  5925  func elem8(a *int32, index uintptr) *int32 {
  5926  	return (*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
  5927  }
  5928  func elem2(a *int8, index uintptr) *int8 {
  5929  	return (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index))
  5930  }
  5931  func elem11(a *XmultiplexGroup, index uintptr) *XmultiplexGroup {
  5932  	return (*XmultiplexGroup)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 28*index))
  5933  }
  5934  func elem12(a *TmultiplexReal, index uintptr) *TmultiplexReal {
  5935  	return (*TmultiplexReal)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index))
  5936  }
  5937  func elem9(a *TStress2Task, index uintptr) *TStress2Task {
  5938  	return (*TStress2Task)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
  5939  }
  5940  func elem0(a *TThreadTest, index uintptr) *TThreadTest {
  5941  	return (*TThreadTest)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 12*index))
  5942  }
  5943  func elem4(a *uint32, index uintptr) *uint32 {
  5944  	return (*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
  5945  }
  5946  func elem6(a *uint8, index uintptr) *uint8 {
  5947  	return (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index))
  5948  }
  5949  func postInc6(p **uint8, d int) *uint8 {
  5950  	q := (*uintptr)(unsafe.Pointer(p))
  5951  	v := *q
  5952  	*q += uintptr(d)
  5953  	return (*uint8)(unsafe.Pointer(v))
  5954  }
  5955  func postInc7(p *int32, d int32) int32                                       { v := *p; *p += d; return v }
  5956  func preInc7(p *int32, d int32) int32                                        { v := *p + d; *p = v; return v }
  5957  func preInc5(p *uint32, d uint32) uint32                                     { v := *p + d; *p = v; return v }
  5958  func store2(p **int8, v *int8) *int8                                         { *p = v; return v }
  5959  func store13(p **bin.Xsqlite3_file, v *bin.Xsqlite3_file) *bin.Xsqlite3_file { *p = v; return v }
  5960  func store7(p *int32, v int32) int32                                         { *p = v; return v }
  5961  func store5(p *uint32, v uint32) uint32                                      { *p = v; return v }
  5962  
  5963  type XmultiplexGroup struct {
  5964  	XaReal     unsafe.Pointer
  5965  	XnReal     int32
  5966  	XzName     *int8
  5967  	XnName     int32
  5968  	Xflags     int32
  5969  	XszChunk   uint32
  5970  	XbEnabled  uint8
  5971  	XbTruncate uint8
  5972  } // t15 struct{aReal *struct{},nReal int32,zName *int8,nName int32,flags int32,szChunk uint32,bEnabled uint8,bTruncate uint8}
  5973  
  5974  type TmultiplexReal struct {
  5975  	Xp unsafe.Pointer
  5976  	Xz *int8
  5977  } // t16 struct{p *struct{},z *int8}
  5978  
  5979  type XmultiplexConn struct {
  5980  	Xbase   bin.Xsqlite3_file
  5981  	XpGroup unsafe.Pointer
  5982  } // t17 struct{base struct{pMethods *struct{}},pGroup *struct{}}
  5983  
  5984  type XMD5Context struct {
  5985  	XisInit int32
  5986  	Xbuf    [4]uint32
  5987  	Xbits   [2]uint32
  5988  	Xu      t18
  5989  } // t19 struct{isInit int32,buf [4]uint32,bits [2]uint32,u union{in [64]uint8,in32 [16]uint32}}
  5990  
  5991  type XError struct {
  5992  	Xrc    int32
  5993  	XiLine int32
  5994  	XzErr  *int8
  5995  } // t20 struct{rc int32,iLine int32,zErr *int8}
  5996  
  5997  type XSqlite struct {
  5998  	Xdb     unsafe.Pointer
  5999  	XpCache unsafe.Pointer
  6000  	XnText  int32
  6001  	XaText  **int8
  6002  } // t21 struct{db *struct{},pCache *struct{},nText int32,aText **int8}
  6003  
  6004  type XStatement struct {
  6005  	XpStmt unsafe.Pointer
  6006  	XpNext unsafe.Pointer
  6007  } // t22 struct{pStmt *struct{},pNext *struct{}}
  6008  
  6009  type XThread struct {
  6010  	XiTid  int32
  6011  	XpArg  unsafe.Pointer
  6012  	Xtid   uint32
  6013  	XxProc func(*crt.TLS, int32, unsafe.Pointer) *int8
  6014  	XpNext unsafe.Pointer
  6015  } // t23 struct{iTid int32,pArg *struct{},tid uint32,xProc *func(int32,*struct{})*int8,pNext *struct{}}
  6016  
  6017  type XThreadset struct {
  6018  	XiMaxTid int32
  6019  	XpThread unsafe.Pointer
  6020  } // t24 struct{iMaxTid int32,pThread *struct{}}
  6021  
  6022  type XCheckpointStarvationCtx struct {
  6023  	XeMode     int32
  6024  	XnMaxFrame int32
  6025  } // t25 struct{eMode int32,nMaxFrame int32}
  6026  
  6027  type XStress2Ctx struct {
  6028  	XzDb   *int8
  6029  	XxProc func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32)
  6030  } // t26 struct{zDb *int8,xProc *func(*struct{},*struct{},int32)}
  6031  
  6032  type TStress2Task struct {
  6033  	Xx func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32)
  6034  } // t27 struct{x *func(*struct{},*struct{},int32)}
  6035  
  6036  type TThreadTest struct {
  6037  	XxTest func(*crt.TLS, int32)
  6038  	XzTest *int8
  6039  	XnMs   int32
  6040  } // t28 struct{xTest *func(int32),zTest *int8,nMs int32}
  6041  
  6042  type t10 struct {
  6043  	XpOrigVfs      unsafe.Pointer
  6044  	XsThisVfs      bin.Xsqlite3_vfs
  6045  	XsIoMethodsV1  bin.Xsqlite3_io_methods
  6046  	XsIoMethodsV2  bin.Xsqlite3_io_methods
  6047  	XisInitialized int32
  6048  } // 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}
  6049  
  6050  type t14 struct {
  6051  	Xaggregate_context      func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6052  	Xaggregate_count        func(*crt.TLS, unsafe.Pointer) int32
  6053  	Xbind_blob              func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32
  6054  	Xbind_double            func(*crt.TLS, unsafe.Pointer, int32, float64) int32
  6055  	Xbind_int               func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6056  	Xbind_int64             func(*crt.TLS, unsafe.Pointer, int32, int64) int32
  6057  	Xbind_null              func(*crt.TLS, unsafe.Pointer, int32) int32
  6058  	Xbind_parameter_count   func(*crt.TLS, unsafe.Pointer) int32
  6059  	Xbind_parameter_index   func(*crt.TLS, unsafe.Pointer, *int8) int32
  6060  	Xbind_parameter_name    func(*crt.TLS, unsafe.Pointer, int32) *int8
  6061  	Xbind_text              func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, func(*crt.TLS, unsafe.Pointer)) int32
  6062  	Xbind_text16            func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32
  6063  	Xbind_value             func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32
  6064  	Xbusy_handler           func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32
  6065  	Xbusy_timeout           func(*crt.TLS, unsafe.Pointer, int32) int32
  6066  	Xchanges                func(*crt.TLS, unsafe.Pointer) int32
  6067  	Xclose                  func(*crt.TLS, unsafe.Pointer) int32
  6068  	Xcollation_needed       func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32
  6069  	Xcollation_needed16     func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer)) int32
  6070  	Xcolumn_blob            func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6071  	Xcolumn_bytes           func(*crt.TLS, unsafe.Pointer, int32) int32
  6072  	Xcolumn_bytes16         func(*crt.TLS, unsafe.Pointer, int32) int32
  6073  	Xcolumn_count           func(*crt.TLS, unsafe.Pointer) int32
  6074  	Xcolumn_database_name   func(*crt.TLS, unsafe.Pointer, int32) *int8
  6075  	Xcolumn_database_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6076  	Xcolumn_decltype        func(*crt.TLS, unsafe.Pointer, int32) *int8
  6077  	Xcolumn_decltype16      func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6078  	Xcolumn_double          func(*crt.TLS, unsafe.Pointer, int32) float64
  6079  	Xcolumn_int             func(*crt.TLS, unsafe.Pointer, int32) int32
  6080  	Xcolumn_int64           func(*crt.TLS, unsafe.Pointer, int32) int64
  6081  	Xcolumn_name            func(*crt.TLS, unsafe.Pointer, int32) *int8
  6082  	Xcolumn_name16          func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6083  	Xcolumn_origin_name     func(*crt.TLS, unsafe.Pointer, int32) *int8
  6084  	Xcolumn_origin_name16   func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6085  	Xcolumn_table_name      func(*crt.TLS, unsafe.Pointer, int32) *int8
  6086  	Xcolumn_table_name16    func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6087  	Xcolumn_text            func(*crt.TLS, unsafe.Pointer, int32) *uint8
  6088  	Xcolumn_text16          func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6089  	Xcolumn_type            func(*crt.TLS, unsafe.Pointer, int32) int32
  6090  	Xcolumn_value           func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6091  	Xcommit_hook            func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer
  6092  	Xcomplete               func(*crt.TLS, *int8) int32
  6093  	Xcomplete16             func(*crt.TLS, unsafe.Pointer) int32
  6094  	Xcreate_collation       func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32
  6095  	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
  6096  	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
  6097  	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
  6098  	Xcreate_module          func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32
  6099  	Xdata_count             func(*crt.TLS, unsafe.Pointer) int32
  6100  	Xdb_handle              func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6101  	Xdeclare_vtab           func(*crt.TLS, unsafe.Pointer, *int8) int32
  6102  	Xenable_shared_cache    func(*crt.TLS, int32) int32
  6103  	Xerrcode                func(*crt.TLS, unsafe.Pointer) int32
  6104  	Xerrmsg                 func(*crt.TLS, unsafe.Pointer) *int8
  6105  	Xerrmsg16               func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6106  	Xexec                   func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32
  6107  	Xexpired                func(*crt.TLS, unsafe.Pointer) int32
  6108  	Xfinalize               func(*crt.TLS, unsafe.Pointer) int32
  6109  	Xfree                   func(*crt.TLS, unsafe.Pointer)
  6110  	Xfree_table             func(*crt.TLS, **int8)
  6111  	Xget_autocommit         func(*crt.TLS, unsafe.Pointer) int32
  6112  	Xget_auxdata            func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6113  	Xget_table              func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32
  6114  	Xglobal_recover         func(*crt.TLS) int32
  6115  	Xinterruptx             func(*crt.TLS, unsafe.Pointer)
  6116  	Xlast_insert_rowid      func(*crt.TLS, unsafe.Pointer) int64
  6117  	Xlibversion             func(*crt.TLS) *int8
  6118  	Xlibversion_number      func(*crt.TLS) int32
  6119  	Xmalloc                 func(*crt.TLS, int32) unsafe.Pointer
  6120  	Xmprintf                func(*crt.TLS, *int8, ...interface{}) *int8
  6121  	Xopen                   func(*crt.TLS, *int8, *unsafe.Pointer) int32
  6122  	Xopen16                 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32
  6123  	Xprepare                func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32
  6124  	Xprepare16              func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32
  6125  	Xprofile                func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer
  6126  	Xprogress_handler       func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer)
  6127  	Xrealloc                func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6128  	Xreset                  func(*crt.TLS, unsafe.Pointer) int32
  6129  	Xresult_blob            func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6130  	Xresult_double          func(*crt.TLS, unsafe.Pointer, float64)
  6131  	Xresult_error           func(*crt.TLS, unsafe.Pointer, *int8, int32)
  6132  	Xresult_error16         func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32)
  6133  	Xresult_int             func(*crt.TLS, unsafe.Pointer, int32)
  6134  	Xresult_int64           func(*crt.TLS, unsafe.Pointer, int64)
  6135  	Xresult_null            func(*crt.TLS, unsafe.Pointer)
  6136  	Xresult_text            func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer))
  6137  	Xresult_text16          func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6138  	Xresult_text16be        func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6139  	Xresult_text16le        func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6140  	Xresult_value           func(*crt.TLS, unsafe.Pointer, unsafe.Pointer)
  6141  	Xrollback_hook          func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer
  6142  	Xset_authorizer         func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32
  6143  	Xset_auxdata            func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer))
  6144  	Xsnprintf               func(*crt.TLS, int32, *int8, *int8, ...interface{}) *int8
  6145  	Xstep                   func(*crt.TLS, unsafe.Pointer) int32
  6146  	Xtable_column_metadata  func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32
  6147  	Xthread_cleanup         func(*crt.TLS)
  6148  	Xtotal_changes          func(*crt.TLS, unsafe.Pointer) int32
  6149  	Xtrace                  func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer
  6150  	Xtransfer_bindings      func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32
  6151  	Xupdate_hook            func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer
  6152  	Xuser_data              func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6153  	Xvalue_blob             func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6154  	Xvalue_bytes            func(*crt.TLS, unsafe.Pointer) int32
  6155  	Xvalue_bytes16          func(*crt.TLS, unsafe.Pointer) int32
  6156  	Xvalue_double           func(*crt.TLS, unsafe.Pointer) float64
  6157  	Xvalue_int              func(*crt.TLS, unsafe.Pointer) int32
  6158  	Xvalue_int64            func(*crt.TLS, unsafe.Pointer) int64
  6159  	Xvalue_numeric_type     func(*crt.TLS, unsafe.Pointer) int32
  6160  	Xvalue_text             func(*crt.TLS, unsafe.Pointer) *uint8
  6161  	Xvalue_text16           func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6162  	Xvalue_text16be         func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6163  	Xvalue_text16le         func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6164  	Xvalue_type             func(*crt.TLS, unsafe.Pointer) int32
  6165  	Xvmprintf               func(*crt.TLS, *int8, unsafe.Pointer) *int8
  6166  	Xoverload_function      func(*crt.TLS, unsafe.Pointer, *int8, int32) int32
  6167  	Xprepare_v2             func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32
  6168  	Xprepare16_v2           func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32
  6169  	Xclear_bindings         func(*crt.TLS, unsafe.Pointer) int32
  6170  	Xcreate_module_v2       func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32
  6171  	Xbind_zeroblob          func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6172  	Xblob_bytes             func(*crt.TLS, unsafe.Pointer) int32
  6173  	Xblob_close             func(*crt.TLS, unsafe.Pointer) int32
  6174  	Xblob_open              func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32
  6175  	Xblob_read              func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32
  6176  	Xblob_write             func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32
  6177  	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
  6178  	Xfile_control           func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32
  6179  	Xmemory_highwater       func(*crt.TLS, int32) int64
  6180  	Xmemory_used            func(*crt.TLS) int64
  6181  	Xmutex_alloc            func(*crt.TLS, int32) unsafe.Pointer
  6182  	Xmutex_enter            func(*crt.TLS, unsafe.Pointer)
  6183  	Xmutex_free             func(*crt.TLS, unsafe.Pointer)
  6184  	Xmutex_leave            func(*crt.TLS, unsafe.Pointer)
  6185  	Xmutex_try              func(*crt.TLS, unsafe.Pointer) int32
  6186  	Xopen_v2                func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32
  6187  	Xrelease_memory         func(*crt.TLS, int32) int32
  6188  	Xresult_error_nomem     func(*crt.TLS, unsafe.Pointer)
  6189  	Xresult_error_toobig    func(*crt.TLS, unsafe.Pointer)
  6190  	Xsleep                  func(*crt.TLS, int32) int32
  6191  	Xsoft_heap_limit        func(*crt.TLS, int32)
  6192  	Xvfs_find               func(*crt.TLS, *int8) unsafe.Pointer
  6193  	Xvfs_register           func(*crt.TLS, unsafe.Pointer, int32) int32
  6194  	Xvfs_unregister         func(*crt.TLS, unsafe.Pointer) int32
  6195  	Xxthreadsafe            func(*crt.TLS) int32
  6196  	Xresult_zeroblob        func(*crt.TLS, unsafe.Pointer, int32)
  6197  	Xresult_error_code      func(*crt.TLS, unsafe.Pointer, int32)
  6198  	Xtest_control           func(*crt.TLS, int32, ...interface{}) int32
  6199  	Xrandomness             func(*crt.TLS, int32, unsafe.Pointer)
  6200  	Xcontext_db_handle      func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6201  	Xextended_result_codes  func(*crt.TLS, unsafe.Pointer, int32) int32
  6202  	Xlimit                  func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6203  	Xnext_stmt              func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer
  6204  	Xsql                    func(*crt.TLS, unsafe.Pointer) *int8
  6205  	Xstatus                 func(*crt.TLS, int32, *int32, *int32, int32) int32
  6206  	Xbackup_finish          func(*crt.TLS, unsafe.Pointer) int32
  6207  	Xbackup_init            func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer
  6208  	Xbackup_pagecount       func(*crt.TLS, unsafe.Pointer) int32
  6209  	Xbackup_remaining       func(*crt.TLS, unsafe.Pointer) int32
  6210  	Xbackup_step            func(*crt.TLS, unsafe.Pointer, int32) int32
  6211  	Xcompileoption_get      func(*crt.TLS, int32) *int8
  6212  	Xcompileoption_used     func(*crt.TLS, *int8) int32
  6213  	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
  6214  	Xdb_config              func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32
  6215  	Xdb_mutex               func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6216  	Xdb_status              func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32
  6217  	Xextended_errcode       func(*crt.TLS, unsafe.Pointer) int32
  6218  	Xlog                    func(*crt.TLS, int32, *int8, ...interface{})
  6219  	Xsoft_heap_limit64      func(*crt.TLS, int64) int64
  6220  	Xsourceid               func(*crt.TLS) *int8
  6221  	Xstmt_status            func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6222  	Xstrnicmp               func(*crt.TLS, *int8, *int8, int32) int32
  6223  	Xunlock_notify          func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, *unsafe.Pointer, int32), unsafe.Pointer) int32
  6224  	Xwal_autocheckpoint     func(*crt.TLS, unsafe.Pointer, int32) int32
  6225  	Xwal_checkpoint         func(*crt.TLS, unsafe.Pointer, *int8) int32
  6226  	Xwal_hook               func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer
  6227  	Xblob_reopen            func(*crt.TLS, unsafe.Pointer, int64) int32
  6228  	Xvtab_config            func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32
  6229  	Xvtab_on_conflict       func(*crt.TLS, unsafe.Pointer) int32
  6230  	Xclose_v2               func(*crt.TLS, unsafe.Pointer) int32
  6231  	Xdb_filename            func(*crt.TLS, unsafe.Pointer, *int8) *int8
  6232  	Xdb_readonly            func(*crt.TLS, unsafe.Pointer, *int8) int32
  6233  	Xdb_release_memory      func(*crt.TLS, unsafe.Pointer) int32
  6234  	Xerrstr                 func(*crt.TLS, int32) *int8
  6235  	Xstmt_busy              func(*crt.TLS, unsafe.Pointer) int32
  6236  	Xstmt_readonly          func(*crt.TLS, unsafe.Pointer) int32
  6237  	Xstricmp                func(*crt.TLS, *int8, *int8) int32
  6238  	Xuri_boolean            func(*crt.TLS, *int8, *int8, int32) int32
  6239  	Xuri_int64              func(*crt.TLS, *int8, *int8, int64) int64
  6240  	Xuri_parameter          func(*crt.TLS, *int8, *int8) *int8
  6241  	Xvsnprintf              func(*crt.TLS, int32, *int8, *int8, unsafe.Pointer) *int8
  6242  	Xwal_checkpoint_v2      func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32
  6243  	Xauto_extension         func(*crt.TLS, func(*crt.TLS)) int32
  6244  	Xbind_blob64            func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) int32
  6245  	Xbind_text64            func(*crt.TLS, unsafe.Pointer, int32, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) int32
  6246  	Xcancel_auto_extension  func(*crt.TLS, func(*crt.TLS)) int32
  6247  	Xload_extension         func(*crt.TLS, unsafe.Pointer, *int8, *int8, **int8) int32
  6248  	Xmalloc64               func(*crt.TLS, uint64) unsafe.Pointer
  6249  	Xmsize                  func(*crt.TLS, unsafe.Pointer) uint64
  6250  	Xrealloc64              func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer
  6251  	Xreset_auto_extension   func(*crt.TLS)
  6252  	Xresult_blob64          func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer))
  6253  	Xresult_text64          func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8)
  6254  	Xstrglob                func(*crt.TLS, *int8, *int8) int32
  6255  	Xvalue_dup              func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6256  	Xvalue_free             func(*crt.TLS, unsafe.Pointer)
  6257  	Xresult_zeroblob64      func(*crt.TLS, unsafe.Pointer, uint64) int32
  6258  	Xbind_zeroblob64        func(*crt.TLS, unsafe.Pointer, int32, uint64) int32
  6259  	Xvalue_subtype          func(*crt.TLS, unsafe.Pointer) uint32
  6260  	Xresult_subtype         func(*crt.TLS, unsafe.Pointer, uint32)
  6261  	Xstatus64               func(*crt.TLS, int32, *int64, *int64, int32) int32
  6262  	Xstrlike                func(*crt.TLS, *int8, *int8, uint32) int32
  6263  	Xdb_cacheflush          func(*crt.TLS, unsafe.Pointer) int32
  6264  	Xsystem_errno           func(*crt.TLS, unsafe.Pointer) int32
  6265  	Xtrace_v2               func(*crt.TLS, unsafe.Pointer, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32
  6266  	Xexpanded_sql           func(*crt.TLS, unsafe.Pointer) *int8
  6267  	Xset_last_insert_rowid  func(*crt.TLS, unsafe.Pointer, int64)
  6268  } // 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)}
  6269  
  6270  type t18 struct {
  6271  	X [0]struct {
  6272  		Xin   [64]uint8
  6273  		Xin32 [16]uint32
  6274  	}
  6275  	U [64]byte
  6276  }                       // union{in [64]uint8,in32 [16]uint32}
  6277  func str(n int) *int8   { return (*int8)(unsafe.Pointer(&strTab[n])) }
  6278  func wstr(n int) *int32 { return (*int32)(unsafe.Pointer(&strTab[n])) }
  6279  
  6280  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")