gitlab.com/CoiaPrant/sqlite3@v1.19.1/speedtest1/main_netbsd_amd64.go (about)

     1  // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_netbsd_amd64.go -trace-translation-units testdata/sqlite-src-3390300/test/speedtest1.c -Itestdata/sqlite-amalgamation-3390300 -l gitlab.com/CoiaPrant/sqlite3/lib -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -D__libc_cond_broadcast=pthread_cond_broadcast -D__libc_cond_destroy=pthread_cond_destroy -D__libc_cond_init=pthread_cond_init -D__libc_cond_signal=pthread_cond_signal -D__libc_cond_wait=pthread_cond_wait -D__libc_mutex_destroy=pthread_mutex_destroy -D__libc_mutex_init=pthread_mutex_init -D__libc_mutex_lock=pthread_mutex_lock -D__libc_mutex_trylock=pthread_mutex_trylock -D__libc_mutex_unlock=pthread_mutex_unlock -D__libc_mutexattr_destroy=pthread_mutexattr_destroy -D__libc_mutexattr_init=pthread_mutexattr_init -D__libc_mutexattr_settype=pthread_mutexattr_settype -D__libc_thr_yield=sched_yield', DO NOT EDIT.
     2  
     3  package main
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  	"gitlab.com/CoiaPrant/sqlite3/lib"
    14  )
    15  
    16  var _ = math.Pi
    17  var _ reflect.Kind
    18  var _ atomic.Value
    19  var _ unsafe.Pointer
    20  var _ *libc.TLS
    21  var _ types.Size_t
    22  
    23  func main() { libc.Start(main1) }
    24  
    25  const (
    26  	BIG_ENDIAN                            = 4321
    27  	BUFSIZ                                = 1024
    28  	BYTE_ORDER                            = 1234
    29  	EOF                                   = -1
    30  	EXIT_FAILURE                          = 1
    31  	EXIT_SUCCESS                          = 0
    32  	FDATASYNC                             = 0x0010
    33  	FDISKSYNC                             = 0x0040
    34  	FD_SETSIZE                            = 256
    35  	FFILESYNC                             = 0x0020
    36  	FILENAME_MAX                          = 1024
    37  	FOPEN_MAX                             = 20
    38  	FPARSELN_UNESCALL                     = 0x0f
    39  	FPARSELN_UNESCCOMM                    = 0x04
    40  	FPARSELN_UNESCCONT                    = 0x02
    41  	FPARSELN_UNESCESC                     = 0x01
    42  	FPARSELN_UNESCREST                    = 0x08
    43  	FTS5_TOKENIZE_AUX                     = 0x0008
    44  	FTS5_TOKENIZE_DOCUMENT                = 0x0004
    45  	FTS5_TOKENIZE_PREFIX                  = 0x0002
    46  	FTS5_TOKENIZE_QUERY                   = 0x0001
    47  	FTS5_TOKEN_COLOCATED                  = 0x0001
    48  	FULLY_WITHIN                          = 2
    49  	F_LOCK                                = 1
    50  	F_OK                                  = 0
    51  	F_TEST                                = 3
    52  	F_TLOCK                               = 2
    53  	F_ULOCK                               = 0
    54  	GETPASS_7BIT                          = 0x080
    55  	GETPASS_BUF_LIMIT                     = 0x004
    56  	GETPASS_ECHO                          = 0x020
    57  	GETPASS_ECHO_NL                       = 0x400
    58  	GETPASS_ECHO_STAR                     = 0x040
    59  	GETPASS_FAIL_EOF                      = 0x002
    60  	GETPASS_FORCE_LOWER                   = 0x100
    61  	GETPASS_FORCE_UPPER                   = 0x200
    62  	GETPASS_NEED_TTY                      = 0x001
    63  	GETPASS_NO_BEEP                       = 0x010
    64  	GETPASS_NO_SIGNAL                     = 0x008
    65  	HAVE_USLEEP                           = 1
    66  	HN_AUTOSCALE                          = 0x20
    67  	HN_B                                  = 0x04
    68  	HN_DECIMAL                            = 0x01
    69  	HN_DIVISOR_1000                       = 0x08
    70  	HN_GETSCALE                           = 0x10
    71  	HN_NOSPACE                            = 0x02
    72  	INT16_MAX                             = 32767
    73  	INT16_MIN                             = -32768
    74  	INT32_MAX                             = 2147483647
    75  	INT32_MIN                             = -2147483648
    76  	INT64_MAX                             = 9223372036854775807
    77  	INT64_MIN                             = -9223372036854775808
    78  	INT8_MAX                              = 127
    79  	INT8_MIN                              = -128
    80  	INTMAX_MAX                            = 9223372036854775807
    81  	INTMAX_MIN                            = -9223372036854775808
    82  	INTPTR_MAX                            = 9223372036854775807
    83  	INTPTR_MIN                            = -9223372036854775808
    84  	INT_FAST16_MAX                        = 2147483647
    85  	INT_FAST16_MIN                        = -2147483648
    86  	INT_FAST32_MAX                        = 2147483647
    87  	INT_FAST32_MIN                        = -2147483648
    88  	INT_FAST64_MAX                        = 9223372036854775807
    89  	INT_FAST64_MIN                        = -9223372036854775808
    90  	INT_FAST8_MAX                         = 2147483647
    91  	INT_FAST8_MIN                         = -2147483648
    92  	INT_LEAST16_MAX                       = 32767
    93  	INT_LEAST16_MIN                       = -32768
    94  	INT_LEAST32_MAX                       = 2147483647
    95  	INT_LEAST32_MIN                       = -2147483648
    96  	INT_LEAST64_MAX                       = 9223372036854775807
    97  	INT_LEAST64_MIN                       = -9223372036854775808
    98  	INT_LEAST8_MAX                        = 127
    99  	INT_LEAST8_MIN                        = -128
   100  	LITTLE_ENDIAN                         = 1234
   101  	L_INCR                                = 1
   102  	L_SET                                 = 0
   103  	L_XTND                                = 2
   104  	L_ctermid                             = 1024
   105  	L_cuserid                             = 9
   106  	L_tmpnam                              = 1024
   107  	NAMEWIDTH                             = 60
   108  	NBBY                                  = 8
   109  	NDEBUG                                = 1
   110  	NFDBITS                               = 32
   111  	NODEVMAJOR                            = -1
   112  	NOT_WITHIN                            = 0
   113  	PARTLY_WITHIN                         = 1
   114  	PDP_ENDIAN                            = 3412
   115  	PTRDIFF_MAX                           = 9223372036854775807
   116  	PTRDIFF_MIN                           = -9223372036854775808
   117  	P_tmpdir                              = "/tmp/"
   118  	RANDOM_MAX                            = 0x7fffffff
   119  	RAND_MAX                              = 0x7fffffff
   120  	R_OK                                  = 0x04
   121  	SEEK_CUR                              = 1
   122  	SEEK_END                              = 2
   123  	SEEK_SET                              = 0
   124  	SIG_ATOMIC_MAX                        = 2147483647
   125  	SIG_ATOMIC_MIN                        = -2147483648
   126  	SIZE_MAX                              = 18446744073709551615
   127  	SQLITE3_H                             = 0
   128  	SQLITE3_TEXT                          = 3
   129  	SQLITE_ABORT                          = 4
   130  	SQLITE_ABORT_ROLLBACK                 = 516
   131  	SQLITE_ACCESS_EXISTS                  = 0
   132  	SQLITE_ACCESS_READ                    = 2
   133  	SQLITE_ACCESS_READWRITE               = 1
   134  	SQLITE_ALTER_TABLE                    = 26
   135  	SQLITE_ANALYZE                        = 28
   136  	SQLITE_ANY                            = 5
   137  	SQLITE_API                            = 0
   138  	SQLITE_APICALL                        = 0
   139  	SQLITE_ATTACH                         = 24
   140  	SQLITE_AUTH                           = 23
   141  	SQLITE_AUTH_USER                      = 279
   142  	SQLITE_BLOB                           = 4
   143  	SQLITE_BUSY                           = 5
   144  	SQLITE_BUSY_RECOVERY                  = 261
   145  	SQLITE_BUSY_SNAPSHOT                  = 517
   146  	SQLITE_BUSY_TIMEOUT                   = 773
   147  	SQLITE_CALLBACK                       = 0
   148  	SQLITE_CANTOPEN                       = 14
   149  	SQLITE_CANTOPEN_CONVPATH              = 1038
   150  	SQLITE_CANTOPEN_DIRTYWAL              = 1294
   151  	SQLITE_CANTOPEN_FULLPATH              = 782
   152  	SQLITE_CANTOPEN_ISDIR                 = 526
   153  	SQLITE_CANTOPEN_NOTEMPDIR             = 270
   154  	SQLITE_CANTOPEN_SYMLINK               = 1550
   155  	SQLITE_CDECL                          = 0
   156  	SQLITE_CHANGESETAPPLY_INVERT          = 0x0002
   157  	SQLITE_CHANGESETAPPLY_NOSAVEPOINT     = 0x0001
   158  	SQLITE_CHANGESETSTART_INVERT          = 0x0002
   159  	SQLITE_CHANGESET_ABORT                = 2
   160  	SQLITE_CHANGESET_CONFLICT             = 3
   161  	SQLITE_CHANGESET_CONSTRAINT           = 4
   162  	SQLITE_CHANGESET_DATA                 = 1
   163  	SQLITE_CHANGESET_FOREIGN_KEY          = 5
   164  	SQLITE_CHANGESET_NOTFOUND             = 2
   165  	SQLITE_CHANGESET_OMIT                 = 0
   166  	SQLITE_CHANGESET_REPLACE              = 1
   167  	SQLITE_CHECKPOINT_FULL                = 1
   168  	SQLITE_CHECKPOINT_PASSIVE             = 0
   169  	SQLITE_CHECKPOINT_RESTART             = 2
   170  	SQLITE_CHECKPOINT_TRUNCATE            = 3
   171  	SQLITE_CONFIG_COVERING_INDEX_SCAN     = 20
   172  	SQLITE_CONFIG_GETMALLOC               = 5
   173  	SQLITE_CONFIG_GETMUTEX                = 11
   174  	SQLITE_CONFIG_GETPCACHE               = 15
   175  	SQLITE_CONFIG_GETPCACHE2              = 19
   176  	SQLITE_CONFIG_HEAP                    = 8
   177  	SQLITE_CONFIG_LOG                     = 16
   178  	SQLITE_CONFIG_LOOKASIDE               = 13
   179  	SQLITE_CONFIG_MALLOC                  = 4
   180  	SQLITE_CONFIG_MEMDB_MAXSIZE           = 29
   181  	SQLITE_CONFIG_MEMSTATUS               = 9
   182  	SQLITE_CONFIG_MMAP_SIZE               = 22
   183  	SQLITE_CONFIG_MULTITHREAD             = 2
   184  	SQLITE_CONFIG_MUTEX                   = 10
   185  	SQLITE_CONFIG_PAGECACHE               = 7
   186  	SQLITE_CONFIG_PCACHE                  = 14
   187  	SQLITE_CONFIG_PCACHE2                 = 18
   188  	SQLITE_CONFIG_PCACHE_HDRSZ            = 24
   189  	SQLITE_CONFIG_PMASZ                   = 25
   190  	SQLITE_CONFIG_SCRATCH                 = 6
   191  	SQLITE_CONFIG_SERIALIZED              = 3
   192  	SQLITE_CONFIG_SINGLETHREAD            = 1
   193  	SQLITE_CONFIG_SMALL_MALLOC            = 27
   194  	SQLITE_CONFIG_SORTERREF_SIZE          = 28
   195  	SQLITE_CONFIG_SQLLOG                  = 21
   196  	SQLITE_CONFIG_STMTJRNL_SPILL          = 26
   197  	SQLITE_CONFIG_URI                     = 17
   198  	SQLITE_CONFIG_WIN32_HEAPSIZE          = 23
   199  	SQLITE_CONSTRAINT                     = 19
   200  	SQLITE_CONSTRAINT_CHECK               = 275
   201  	SQLITE_CONSTRAINT_COMMITHOOK          = 531
   202  	SQLITE_CONSTRAINT_DATATYPE            = 3091
   203  	SQLITE_CONSTRAINT_FOREIGNKEY          = 787
   204  	SQLITE_CONSTRAINT_FUNCTION            = 1043
   205  	SQLITE_CONSTRAINT_NOTNULL             = 1299
   206  	SQLITE_CONSTRAINT_PINNED              = 2835
   207  	SQLITE_CONSTRAINT_PRIMARYKEY          = 1555
   208  	SQLITE_CONSTRAINT_ROWID               = 2579
   209  	SQLITE_CONSTRAINT_TRIGGER             = 1811
   210  	SQLITE_CONSTRAINT_UNIQUE              = 2067
   211  	SQLITE_CONSTRAINT_VTAB                = 2323
   212  	SQLITE_COPY                           = 0
   213  	SQLITE_CORE                           = 1
   214  	SQLITE_CORRUPT                        = 11
   215  	SQLITE_CORRUPT_INDEX                  = 779
   216  	SQLITE_CORRUPT_SEQUENCE               = 523
   217  	SQLITE_CORRUPT_VTAB                   = 267
   218  	SQLITE_CREATE_INDEX                   = 1
   219  	SQLITE_CREATE_TABLE                   = 2
   220  	SQLITE_CREATE_TEMP_INDEX              = 3
   221  	SQLITE_CREATE_TEMP_TABLE              = 4
   222  	SQLITE_CREATE_TEMP_TRIGGER            = 5
   223  	SQLITE_CREATE_TEMP_VIEW               = 6
   224  	SQLITE_CREATE_TRIGGER                 = 7
   225  	SQLITE_CREATE_VIEW                    = 8
   226  	SQLITE_CREATE_VTABLE                  = 29
   227  	SQLITE_DBCONFIG_DEFENSIVE             = 1010
   228  	SQLITE_DBCONFIG_DQS_DDL               = 1014
   229  	SQLITE_DBCONFIG_DQS_DML               = 1013
   230  	SQLITE_DBCONFIG_ENABLE_FKEY           = 1002
   231  	SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004
   232  	SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005
   233  	SQLITE_DBCONFIG_ENABLE_QPSG           = 1007
   234  	SQLITE_DBCONFIG_ENABLE_TRIGGER        = 1003
   235  	SQLITE_DBCONFIG_ENABLE_VIEW           = 1015
   236  	SQLITE_DBCONFIG_LEGACY_ALTER_TABLE    = 1012
   237  	SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    = 1016
   238  	SQLITE_DBCONFIG_LOOKASIDE             = 1001
   239  	SQLITE_DBCONFIG_MAINDBNAME            = 1000
   240  	SQLITE_DBCONFIG_MAX                   = 1017
   241  	SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE      = 1006
   242  	SQLITE_DBCONFIG_RESET_DATABASE        = 1009
   243  	SQLITE_DBCONFIG_TRIGGER_EQP           = 1008
   244  	SQLITE_DBCONFIG_TRUSTED_SCHEMA        = 1017
   245  	SQLITE_DBCONFIG_WRITABLE_SCHEMA       = 1011
   246  	SQLITE_DBSTATUS_CACHE_HIT             = 7
   247  	SQLITE_DBSTATUS_CACHE_MISS            = 8
   248  	SQLITE_DBSTATUS_CACHE_SPILL           = 12
   249  	SQLITE_DBSTATUS_CACHE_USED            = 1
   250  	SQLITE_DBSTATUS_CACHE_USED_SHARED     = 11
   251  	SQLITE_DBSTATUS_CACHE_WRITE           = 9
   252  	SQLITE_DBSTATUS_DEFERRED_FKS          = 10
   253  	SQLITE_DBSTATUS_LOOKASIDE_HIT         = 4
   254  	SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL   = 6
   255  	SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE   = 5
   256  	SQLITE_DBSTATUS_LOOKASIDE_USED        = 0
   257  	SQLITE_DBSTATUS_MAX                   = 12
   258  	SQLITE_DBSTATUS_SCHEMA_USED           = 2
   259  	SQLITE_DBSTATUS_STMT_USED             = 3
   260  	SQLITE_DELETE                         = 9
   261  	SQLITE_DENY                           = 1
   262  	SQLITE_DEPRECATED                     = 0
   263  	SQLITE_DESERIALIZE_FREEONCLOSE        = 1
   264  	SQLITE_DESERIALIZE_READONLY           = 4
   265  	SQLITE_DESERIALIZE_RESIZEABLE         = 2
   266  	SQLITE_DETACH                         = 25
   267  	SQLITE_DETERMINISTIC                  = 0x000000800
   268  	SQLITE_DIRECTONLY                     = 0x000080000
   269  	SQLITE_DONE                           = 101
   270  	SQLITE_DROP_INDEX                     = 10
   271  	SQLITE_DROP_TABLE                     = 11
   272  	SQLITE_DROP_TEMP_INDEX                = 12
   273  	SQLITE_DROP_TEMP_TABLE                = 13
   274  	SQLITE_DROP_TEMP_TRIGGER              = 14
   275  	SQLITE_DROP_TEMP_VIEW                 = 15
   276  	SQLITE_DROP_TRIGGER                   = 16
   277  	SQLITE_DROP_VIEW                      = 17
   278  	SQLITE_DROP_VTABLE                    = 30
   279  	SQLITE_EMPTY                          = 16
   280  	SQLITE_ENABLE_COLUMN_METADATA         = 1
   281  	SQLITE_ENABLE_FTS5                    = 1
   282  	SQLITE_ENABLE_GEOPOLY                 = 1
   283  	SQLITE_ENABLE_MATH_FUNCTIONS          = 1
   284  	SQLITE_ENABLE_MEMORY_MANAGEMENT       = 1
   285  	SQLITE_ENABLE_OFFSET_SQL_FUNC         = 1
   286  	SQLITE_ENABLE_PREUPDATE_HOOK          = 1
   287  	SQLITE_ENABLE_RBU                     = 1
   288  	SQLITE_ENABLE_RTREE                   = 1
   289  	SQLITE_ENABLE_SESSION                 = 1
   290  	SQLITE_ENABLE_SNAPSHOT                = 1
   291  	SQLITE_ENABLE_STAT4                   = 1
   292  	SQLITE_ENABLE_UNLOCK_NOTIFY           = 1
   293  	SQLITE_ERROR                          = 1
   294  	SQLITE_ERROR_MISSING_COLLSEQ          = 257
   295  	SQLITE_ERROR_RETRY                    = 513
   296  	SQLITE_ERROR_SNAPSHOT                 = 769
   297  	SQLITE_EXPERIMENTAL                   = 0
   298  	SQLITE_FAIL                           = 3
   299  	SQLITE_FCNTL_BEGIN_ATOMIC_WRITE       = 31
   300  	SQLITE_FCNTL_BUSYHANDLER              = 15
   301  	SQLITE_FCNTL_CHUNK_SIZE               = 6
   302  	SQLITE_FCNTL_CKPT_DONE                = 37
   303  	SQLITE_FCNTL_CKPT_START               = 39
   304  	SQLITE_FCNTL_CKSM_FILE                = 41
   305  	SQLITE_FCNTL_COMMIT_ATOMIC_WRITE      = 32
   306  	SQLITE_FCNTL_COMMIT_PHASETWO          = 22
   307  	SQLITE_FCNTL_DATA_VERSION             = 35
   308  	SQLITE_FCNTL_EXTERNAL_READER          = 40
   309  	SQLITE_FCNTL_FILE_POINTER             = 7
   310  	SQLITE_FCNTL_GET_LOCKPROXYFILE        = 2
   311  	SQLITE_FCNTL_HAS_MOVED                = 20
   312  	SQLITE_FCNTL_JOURNAL_POINTER          = 28
   313  	SQLITE_FCNTL_LAST_ERRNO               = 4
   314  	SQLITE_FCNTL_LOCKSTATE                = 1
   315  	SQLITE_FCNTL_LOCK_TIMEOUT             = 34
   316  	SQLITE_FCNTL_MMAP_SIZE                = 18
   317  	SQLITE_FCNTL_OVERWRITE                = 11
   318  	SQLITE_FCNTL_PDB                      = 30
   319  	SQLITE_FCNTL_PERSIST_WAL              = 10
   320  	SQLITE_FCNTL_POWERSAFE_OVERWRITE      = 13
   321  	SQLITE_FCNTL_PRAGMA                   = 14
   322  	SQLITE_FCNTL_RBU                      = 26
   323  	SQLITE_FCNTL_RESERVE_BYTES            = 38
   324  	SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE    = 33
   325  	SQLITE_FCNTL_SET_LOCKPROXYFILE        = 3
   326  	SQLITE_FCNTL_SIZE_HINT                = 5
   327  	SQLITE_FCNTL_SIZE_LIMIT               = 36
   328  	SQLITE_FCNTL_SYNC                     = 21
   329  	SQLITE_FCNTL_SYNC_OMITTED             = 8
   330  	SQLITE_FCNTL_TEMPFILENAME             = 16
   331  	SQLITE_FCNTL_TRACE                    = 19
   332  	SQLITE_FCNTL_VFSNAME                  = 12
   333  	SQLITE_FCNTL_VFS_POINTER              = 27
   334  	SQLITE_FCNTL_WAL_BLOCK                = 24
   335  	SQLITE_FCNTL_WIN32_AV_RETRY           = 9
   336  	SQLITE_FCNTL_WIN32_GET_HANDLE         = 29
   337  	SQLITE_FCNTL_WIN32_SET_HANDLE         = 23
   338  	SQLITE_FCNTL_ZIPVFS                   = 25
   339  	SQLITE_FLOAT                          = 2
   340  	SQLITE_FORMAT                         = 24
   341  	SQLITE_FULL                           = 13
   342  	SQLITE_FUNCTION                       = 31
   343  	SQLITE_GET_LOCKPROXYFILE              = 2
   344  	SQLITE_IGNORE                         = 2
   345  	SQLITE_INDEX_CONSTRAINT_EQ            = 2
   346  	SQLITE_INDEX_CONSTRAINT_FUNCTION      = 150
   347  	SQLITE_INDEX_CONSTRAINT_GE            = 32
   348  	SQLITE_INDEX_CONSTRAINT_GLOB          = 66
   349  	SQLITE_INDEX_CONSTRAINT_GT            = 4
   350  	SQLITE_INDEX_CONSTRAINT_IS            = 72
   351  	SQLITE_INDEX_CONSTRAINT_ISNOT         = 69
   352  	SQLITE_INDEX_CONSTRAINT_ISNOTNULL     = 70
   353  	SQLITE_INDEX_CONSTRAINT_ISNULL        = 71
   354  	SQLITE_INDEX_CONSTRAINT_LE            = 8
   355  	SQLITE_INDEX_CONSTRAINT_LIKE          = 65
   356  	SQLITE_INDEX_CONSTRAINT_LIMIT         = 73
   357  	SQLITE_INDEX_CONSTRAINT_LT            = 16
   358  	SQLITE_INDEX_CONSTRAINT_MATCH         = 64
   359  	SQLITE_INDEX_CONSTRAINT_NE            = 68
   360  	SQLITE_INDEX_CONSTRAINT_OFFSET        = 74
   361  	SQLITE_INDEX_CONSTRAINT_REGEXP        = 67
   362  	SQLITE_INDEX_SCAN_UNIQUE              = 1
   363  	SQLITE_INNOCUOUS                      = 0x000200000
   364  	SQLITE_INSERT                         = 18
   365  	SQLITE_INTEGER                        = 1
   366  	SQLITE_INTERNAL                       = 2
   367  	SQLITE_INTERRUPT                      = 9
   368  	SQLITE_IOCAP_ATOMIC                   = 0x00000001
   369  	SQLITE_IOCAP_ATOMIC16K                = 0x00000040
   370  	SQLITE_IOCAP_ATOMIC1K                 = 0x00000004
   371  	SQLITE_IOCAP_ATOMIC2K                 = 0x00000008
   372  	SQLITE_IOCAP_ATOMIC32K                = 0x00000080
   373  	SQLITE_IOCAP_ATOMIC4K                 = 0x00000010
   374  	SQLITE_IOCAP_ATOMIC512                = 0x00000002
   375  	SQLITE_IOCAP_ATOMIC64K                = 0x00000100
   376  	SQLITE_IOCAP_ATOMIC8K                 = 0x00000020
   377  	SQLITE_IOCAP_BATCH_ATOMIC             = 0x00004000
   378  	SQLITE_IOCAP_IMMUTABLE                = 0x00002000
   379  	SQLITE_IOCAP_POWERSAFE_OVERWRITE      = 0x00001000
   380  	SQLITE_IOCAP_SAFE_APPEND              = 0x00000200
   381  	SQLITE_IOCAP_SEQUENTIAL               = 0x00000400
   382  	SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN    = 0x00000800
   383  	SQLITE_IOERR                          = 10
   384  	SQLITE_IOERR_ACCESS                   = 3338
   385  	SQLITE_IOERR_AUTH                     = 7178
   386  	SQLITE_IOERR_BEGIN_ATOMIC             = 7434
   387  	SQLITE_IOERR_BLOCKED                  = 2826
   388  	SQLITE_IOERR_CHECKRESERVEDLOCK        = 3594
   389  	SQLITE_IOERR_CLOSE                    = 4106
   390  	SQLITE_IOERR_COMMIT_ATOMIC            = 7690
   391  	SQLITE_IOERR_CONVPATH                 = 6666
   392  	SQLITE_IOERR_CORRUPTFS                = 8458
   393  	SQLITE_IOERR_DATA                     = 8202
   394  	SQLITE_IOERR_DELETE                   = 2570
   395  	SQLITE_IOERR_DELETE_NOENT             = 5898
   396  	SQLITE_IOERR_DIR_CLOSE                = 4362
   397  	SQLITE_IOERR_DIR_FSYNC                = 1290
   398  	SQLITE_IOERR_FSTAT                    = 1802
   399  	SQLITE_IOERR_FSYNC                    = 1034
   400  	SQLITE_IOERR_GETTEMPPATH              = 6410
   401  	SQLITE_IOERR_LOCK                     = 3850
   402  	SQLITE_IOERR_MMAP                     = 6154
   403  	SQLITE_IOERR_NOMEM                    = 3082
   404  	SQLITE_IOERR_RDLOCK                   = 2314
   405  	SQLITE_IOERR_READ                     = 266
   406  	SQLITE_IOERR_ROLLBACK_ATOMIC          = 7946
   407  	SQLITE_IOERR_SEEK                     = 5642
   408  	SQLITE_IOERR_SHMLOCK                  = 5130
   409  	SQLITE_IOERR_SHMMAP                   = 5386
   410  	SQLITE_IOERR_SHMOPEN                  = 4618
   411  	SQLITE_IOERR_SHMSIZE                  = 4874
   412  	SQLITE_IOERR_SHORT_READ               = 522
   413  	SQLITE_IOERR_TRUNCATE                 = 1546
   414  	SQLITE_IOERR_UNLOCK                   = 2058
   415  	SQLITE_IOERR_VNODE                    = 6922
   416  	SQLITE_IOERR_WRITE                    = 778
   417  	SQLITE_LAST_ERRNO                     = 4
   418  	SQLITE_LIKE_DOESNT_MATCH_BLOBS        = 1
   419  	SQLITE_LIMIT_ATTACHED                 = 7
   420  	SQLITE_LIMIT_COLUMN                   = 2
   421  	SQLITE_LIMIT_COMPOUND_SELECT          = 4
   422  	SQLITE_LIMIT_EXPR_DEPTH               = 3
   423  	SQLITE_LIMIT_FUNCTION_ARG             = 6
   424  	SQLITE_LIMIT_LENGTH                   = 0
   425  	SQLITE_LIMIT_LIKE_PATTERN_LENGTH      = 8
   426  	SQLITE_LIMIT_SQL_LENGTH               = 1
   427  	SQLITE_LIMIT_TRIGGER_DEPTH            = 10
   428  	SQLITE_LIMIT_VARIABLE_NUMBER          = 9
   429  	SQLITE_LIMIT_VDBE_OP                  = 5
   430  	SQLITE_LIMIT_WORKER_THREADS           = 11
   431  	SQLITE_LOCKED                         = 6
   432  	SQLITE_LOCKED_SHAREDCACHE             = 262
   433  	SQLITE_LOCKED_VTAB                    = 518
   434  	SQLITE_LOCK_EXCLUSIVE                 = 4
   435  	SQLITE_LOCK_NONE                      = 0
   436  	SQLITE_LOCK_PENDING                   = 3
   437  	SQLITE_LOCK_RESERVED                  = 2
   438  	SQLITE_LOCK_SHARED                    = 1
   439  	SQLITE_MISMATCH                       = 20
   440  	SQLITE_MISUSE                         = 21
   441  	SQLITE_MUTEX_APPDEF                   = 1
   442  	SQLITE_MUTEX_FAST                     = 0
   443  	SQLITE_MUTEX_NOOP                     = 1
   444  	SQLITE_MUTEX_RECURSIVE                = 1
   445  	SQLITE_MUTEX_STATIC_APP1              = 8
   446  	SQLITE_MUTEX_STATIC_APP2              = 9
   447  	SQLITE_MUTEX_STATIC_APP3              = 10
   448  	SQLITE_MUTEX_STATIC_LRU               = 6
   449  	SQLITE_MUTEX_STATIC_LRU2              = 7
   450  	SQLITE_MUTEX_STATIC_MAIN              = 2
   451  	SQLITE_MUTEX_STATIC_MASTER            = 2
   452  	SQLITE_MUTEX_STATIC_MEM               = 3
   453  	SQLITE_MUTEX_STATIC_MEM2              = 4
   454  	SQLITE_MUTEX_STATIC_OPEN              = 4
   455  	SQLITE_MUTEX_STATIC_PMEM              = 7
   456  	SQLITE_MUTEX_STATIC_PRNG              = 5
   457  	SQLITE_MUTEX_STATIC_VFS1              = 11
   458  	SQLITE_MUTEX_STATIC_VFS2              = 12
   459  	SQLITE_MUTEX_STATIC_VFS3              = 13
   460  	SQLITE_NOLFS                          = 22
   461  	SQLITE_NOMEM                          = 7
   462  	SQLITE_NOTADB                         = 26
   463  	SQLITE_NOTFOUND                       = 12
   464  	SQLITE_NOTICE                         = 27
   465  	SQLITE_NOTICE_RECOVER_ROLLBACK        = 539
   466  	SQLITE_NOTICE_RECOVER_WAL             = 283
   467  	SQLITE_NULL                           = 5
   468  	SQLITE_OK                             = 0
   469  	SQLITE_OK_LOAD_PERMANENTLY            = 256
   470  	SQLITE_OK_SYMLINK                     = 512
   471  	SQLITE_OPEN_AUTOPROXY                 = 0x00000020
   472  	SQLITE_OPEN_CREATE                    = 0x00000004
   473  	SQLITE_OPEN_DELETEONCLOSE             = 0x00000008
   474  	SQLITE_OPEN_EXCLUSIVE                 = 0x00000010
   475  	SQLITE_OPEN_EXRESCODE                 = 0x02000000
   476  	SQLITE_OPEN_FULLMUTEX                 = 0x00010000
   477  	SQLITE_OPEN_MAIN_DB                   = 0x00000100
   478  	SQLITE_OPEN_MAIN_JOURNAL              = 0x00000800
   479  	SQLITE_OPEN_MASTER_JOURNAL            = 0x00004000
   480  	SQLITE_OPEN_MEMORY                    = 0x00000080
   481  	SQLITE_OPEN_NOFOLLOW                  = 0x01000000
   482  	SQLITE_OPEN_NOMUTEX                   = 0x00008000
   483  	SQLITE_OPEN_PRIVATECACHE              = 0x00040000
   484  	SQLITE_OPEN_READONLY                  = 0x00000001
   485  	SQLITE_OPEN_READWRITE                 = 0x00000002
   486  	SQLITE_OPEN_SHAREDCACHE               = 0x00020000
   487  	SQLITE_OPEN_SUBJOURNAL                = 0x00002000
   488  	SQLITE_OPEN_SUPER_JOURNAL             = 0x00004000
   489  	SQLITE_OPEN_TEMP_DB                   = 0x00000200
   490  	SQLITE_OPEN_TEMP_JOURNAL              = 0x00001000
   491  	SQLITE_OPEN_TRANSIENT_DB              = 0x00000400
   492  	SQLITE_OPEN_URI                       = 0x00000040
   493  	SQLITE_OPEN_WAL                       = 0x00080000
   494  	SQLITE_OS_UNIX                        = 1
   495  	SQLITE_PERM                           = 3
   496  	SQLITE_PRAGMA                         = 19
   497  	SQLITE_PREPARE_NORMALIZE              = 0x02
   498  	SQLITE_PREPARE_NO_VTAB                = 0x04
   499  	SQLITE_PREPARE_PERSISTENT             = 0x01
   500  	SQLITE_PROTOCOL                       = 15
   501  	SQLITE_RANGE                          = 25
   502  	SQLITE_READ                           = 20
   503  	SQLITE_READONLY                       = 8
   504  	SQLITE_READONLY_CANTINIT              = 1288
   505  	SQLITE_READONLY_CANTLOCK              = 520
   506  	SQLITE_READONLY_DBMOVED               = 1032
   507  	SQLITE_READONLY_DIRECTORY             = 1544
   508  	SQLITE_READONLY_RECOVERY              = 264
   509  	SQLITE_READONLY_ROLLBACK              = 776
   510  	SQLITE_RECURSIVE                      = 33
   511  	SQLITE_REINDEX                        = 27
   512  	SQLITE_REPLACE                        = 5
   513  	SQLITE_ROLLBACK                       = 1
   514  	SQLITE_ROW                            = 100
   515  	SQLITE_SAVEPOINT                      = 32
   516  	SQLITE_SCANSTAT_EST                   = 2
   517  	SQLITE_SCANSTAT_EXPLAIN               = 4
   518  	SQLITE_SCANSTAT_NAME                  = 3
   519  	SQLITE_SCANSTAT_NLOOP                 = 0
   520  	SQLITE_SCANSTAT_NVISIT                = 1
   521  	SQLITE_SCANSTAT_SELECTID              = 5
   522  	SQLITE_SCHEMA                         = 17
   523  	SQLITE_SELECT                         = 21
   524  	SQLITE_SERIALIZE_NOCOPY               = 0x001
   525  	SQLITE_SESSION_CONFIG_STRMSIZE        = 1
   526  	SQLITE_SESSION_OBJCONFIG_SIZE         = 1
   527  	SQLITE_SET_LOCKPROXYFILE              = 3
   528  	SQLITE_SHM_EXCLUSIVE                  = 8
   529  	SQLITE_SHM_LOCK                       = 2
   530  	SQLITE_SHM_NLOCK                      = 8
   531  	SQLITE_SHM_SHARED                     = 4
   532  	SQLITE_SHM_UNLOCK                     = 1
   533  	SQLITE_SOUNDEX                        = 1
   534  	SQLITE_SOURCE_ID                      = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8"
   535  	SQLITE_STATUS_MALLOC_COUNT            = 9
   536  	SQLITE_STATUS_MALLOC_SIZE             = 5
   537  	SQLITE_STATUS_MEMORY_USED             = 0
   538  	SQLITE_STATUS_PAGECACHE_OVERFLOW      = 2
   539  	SQLITE_STATUS_PAGECACHE_SIZE          = 7
   540  	SQLITE_STATUS_PAGECACHE_USED          = 1
   541  	SQLITE_STATUS_PARSER_STACK            = 6
   542  	SQLITE_STATUS_SCRATCH_OVERFLOW        = 4
   543  	SQLITE_STATUS_SCRATCH_SIZE            = 8
   544  	SQLITE_STATUS_SCRATCH_USED            = 3
   545  	SQLITE_STDCALL                        = 0
   546  	SQLITE_STMTSTATUS_AUTOINDEX           = 3
   547  	SQLITE_STMTSTATUS_FILTER_HIT          = 8
   548  	SQLITE_STMTSTATUS_FILTER_MISS         = 7
   549  	SQLITE_STMTSTATUS_FULLSCAN_STEP       = 1
   550  	SQLITE_STMTSTATUS_MEMUSED             = 99
   551  	SQLITE_STMTSTATUS_REPREPARE           = 5
   552  	SQLITE_STMTSTATUS_RUN                 = 6
   553  	SQLITE_STMTSTATUS_SORT                = 2
   554  	SQLITE_STMTSTATUS_VM_STEP             = 4
   555  	SQLITE_SUBTYPE                        = 0x000100000
   556  	SQLITE_SYNC_DATAONLY                  = 0x00010
   557  	SQLITE_SYNC_FULL                      = 0x00003
   558  	SQLITE_SYNC_NORMAL                    = 0x00002
   559  	SQLITE_SYSAPI                         = 0
   560  	SQLITE_TESTCTRL_ALWAYS                = 13
   561  	SQLITE_TESTCTRL_ASSERT                = 12
   562  	SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS   = 10
   563  	SQLITE_TESTCTRL_BITVEC_TEST           = 8
   564  	SQLITE_TESTCTRL_BYTEORDER             = 22
   565  	SQLITE_TESTCTRL_EXPLAIN_STMT          = 19
   566  	SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS   = 29
   567  	SQLITE_TESTCTRL_FAULT_INSTALL         = 9
   568  	SQLITE_TESTCTRL_FIRST                 = 5
   569  	SQLITE_TESTCTRL_IMPOSTER              = 25
   570  	SQLITE_TESTCTRL_INTERNAL_FUNCTIONS    = 17
   571  	SQLITE_TESTCTRL_ISINIT                = 23
   572  	SQLITE_TESTCTRL_ISKEYWORD             = 16
   573  	SQLITE_TESTCTRL_LAST                  = 33
   574  	SQLITE_TESTCTRL_LOCALTIME_FAULT       = 18
   575  	SQLITE_TESTCTRL_LOGEST                = 33
   576  	SQLITE_TESTCTRL_NEVER_CORRUPT         = 20
   577  	SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD  = 19
   578  	SQLITE_TESTCTRL_OPTIMIZATIONS         = 15
   579  	SQLITE_TESTCTRL_PARSER_COVERAGE       = 26
   580  	SQLITE_TESTCTRL_PENDING_BYTE          = 11
   581  	SQLITE_TESTCTRL_PRNG_RESET            = 7
   582  	SQLITE_TESTCTRL_PRNG_RESTORE          = 6
   583  	SQLITE_TESTCTRL_PRNG_SAVE             = 5
   584  	SQLITE_TESTCTRL_PRNG_SEED             = 28
   585  	SQLITE_TESTCTRL_RESERVE               = 14
   586  	SQLITE_TESTCTRL_RESULT_INTREAL        = 27
   587  	SQLITE_TESTCTRL_SCRATCHMALLOC         = 17
   588  	SQLITE_TESTCTRL_SEEK_COUNT            = 30
   589  	SQLITE_TESTCTRL_SORTER_MMAP           = 24
   590  	SQLITE_TESTCTRL_TRACEFLAGS            = 31
   591  	SQLITE_TESTCTRL_TUNE                  = 32
   592  	SQLITE_TESTCTRL_VDBE_COVERAGE         = 21
   593  	SQLITE_TEXT                           = 3
   594  	SQLITE_THREADSAFE                     = 1
   595  	SQLITE_TOOBIG                         = 18
   596  	SQLITE_TRACE_CLOSE                    = 0x08
   597  	SQLITE_TRACE_PROFILE                  = 0x02
   598  	SQLITE_TRACE_ROW                      = 0x04
   599  	SQLITE_TRACE_STMT                     = 0x01
   600  	SQLITE_TRANSACTION                    = 22
   601  	SQLITE_TXN_NONE                       = 0
   602  	SQLITE_TXN_READ                       = 1
   603  	SQLITE_TXN_WRITE                      = 2
   604  	SQLITE_UPDATE                         = 23
   605  	SQLITE_UTF16                          = 4
   606  	SQLITE_UTF16BE                        = 3
   607  	SQLITE_UTF16LE                        = 2
   608  	SQLITE_UTF16_ALIGNED                  = 8
   609  	SQLITE_UTF8                           = 1
   610  	SQLITE_VERSION                        = "3.39.3"
   611  	SQLITE_VERSION_NUMBER                 = 3039003
   612  	SQLITE_VTAB_CONSTRAINT_SUPPORT        = 1
   613  	SQLITE_VTAB_DIRECTONLY                = 3
   614  	SQLITE_VTAB_INNOCUOUS                 = 2
   615  	SQLITE_WARNING                        = 28
   616  	SQLITE_WARNING_AUTOINDEX              = 284
   617  	SQLITE_WIN32_DATA_DIRECTORY_TYPE      = 1
   618  	SQLITE_WIN32_TEMP_DIRECTORY_TYPE      = 2
   619  	STDERR_FILENO                         = 2
   620  	STDIN_FILENO                          = 0
   621  	STDOUT_FILENO                         = 1
   622  	TMP_MAX                               = 308915776
   623  	UINT16_MAX                            = 65535
   624  	UINT32_MAX                            = 4294967295
   625  	UINT64_MAX                            = 18446744073709551615
   626  	UINT8_MAX                             = 255
   627  	UINTMAX_MAX                           = 18446744073709551615
   628  	UINTPTR_MAX                           = 18446744073709551615
   629  	UINT_FAST16_MAX                       = 4294967295
   630  	UINT_FAST32_MAX                       = 4294967295
   631  	UINT_FAST64_MAX                       = 18446744073709551615
   632  	UINT_FAST8_MAX                        = 4294967295
   633  	UINT_LEAST16_MAX                      = 65535
   634  	UINT_LEAST32_MAX                      = 4294967295
   635  	UINT_LEAST64_MAX                      = 18446744073709551615
   636  	UINT_LEAST8_MAX                       = 255
   637  	WCHAR_MAX                             = 0x7fffffff
   638  	WCHAR_MIN                             = -2147483648
   639  	WINT_MAX                              = 0x7fffffff
   640  	WINT_MIN                              = -2147483648
   641  	W_OK                                  = 0x02
   642  	X_OK                                  = 0x01
   643  	X_AMD64_BYTE_SWAP_H_                  = 0
   644  	X_AMD64_INT_CONST_H_                  = 0
   645  	X_AMD64_INT_LIMITS_H_                 = 0
   646  	X_AMD64_INT_MWGWTYPES_H_              = 0
   647  	X_AMD64_INT_TYPES_H_                  = 0
   648  	X_AMD64_WCHAR_LIMITS_H_               = 0
   649  	X_BIG_ENDIAN                          = 4321
   650  	X_BSD_INT16_T_                        = 0
   651  	X_BSD_INT32_T_                        = 0
   652  	X_BSD_INT64_T_                        = 0
   653  	X_BSD_INT8_T_                         = 0
   654  	X_BSD_INTPTR_T_                       = 0
   655  	X_BSD_UINT16_T_                       = 0
   656  	X_BSD_UINT32_T_                       = 0
   657  	X_BSD_UINT64_T_                       = 0
   658  	X_BSD_UINT8_T_                        = 0
   659  	X_BSD_UINTPTR_T_                      = 0
   660  	X_BYTE_ORDER                          = 1234
   661  	X_CS_PATH                             = 1
   662  	X_CTYPE_A                             = 0x0001
   663  	X_CTYPE_BL                            = 0x0200
   664  	X_CTYPE_C                             = 0x0002
   665  	X_CTYPE_D                             = 0x0004
   666  	X_CTYPE_G                             = 0x0008
   667  	X_CTYPE_H_                            = 0
   668  	X_CTYPE_I                             = 0x0800
   669  	X_CTYPE_INLINE_H_                     = 0
   670  	X_CTYPE_L                             = 0x0010
   671  	X_CTYPE_P                             = 0x0020
   672  	X_CTYPE_Q                             = 0x2000
   673  	X_CTYPE_R                             = 0x0400
   674  	X_CTYPE_S                             = 0x0040
   675  	X_CTYPE_T                             = 0x1000
   676  	X_CTYPE_U                             = 0x0080
   677  	X_CTYPE_X                             = 0x0100
   678  	X_FILE_OFFSET_BITS                    = 64
   679  	X_FSTDIO                              = 0
   680  	X_FTS5_H                              = 0
   681  	X_IOFBF                               = 0
   682  	X_IOLBF                               = 1
   683  	X_IONBF                               = 2
   684  	X_LIB_PTHREAD_TYPES_H                 = 0
   685  	X_LITTLE_ENDIAN                       = 1234
   686  	X_LP64                                = 1
   687  	X_NETBSD_SOURCE                       = 1
   688  	X_O_SC_CLK_TCK                        = 3
   689  	X_PC_2_SYMLINKS                       = 13
   690  	X_PC_ACL_EXTENDED                     = 14
   691  	X_PC_CHOWN_RESTRICTED                 = 7
   692  	X_PC_FILESIZEBITS                     = 11
   693  	X_PC_LINK_MAX                         = 1
   694  	X_PC_MAX_CANON                        = 2
   695  	X_PC_MAX_INPUT                        = 3
   696  	X_PC_MIN_HOLE_SIZE                    = 15
   697  	X_PC_NAME_MAX                         = 4
   698  	X_PC_NO_TRUNC                         = 8
   699  	X_PC_PATH_MAX                         = 5
   700  	X_PC_PIPE_BUF                         = 6
   701  	X_PC_SYMLINK_MAX                      = 12
   702  	X_PC_SYNC_IO                          = 10
   703  	X_PC_VDISABLE                         = 9
   704  	X_PDP_ENDIAN                          = 3412
   705  	X_POSIX2_C_BIND                       = 200112
   706  	X_POSIX2_VERSION                      = 200112
   707  	X_POSIX_ASYNCHRONOUS_IO               = 200112
   708  	X_POSIX_BARRIERS                      = 200112
   709  	X_POSIX_CHOWN_RESTRICTED              = 1
   710  	X_POSIX_CLOCK_SELECTION               = -1
   711  	X_POSIX_CPUTIME                       = 200112
   712  	X_POSIX_FSYNC                         = 1
   713  	X_POSIX_IPV6                          = 0
   714  	X_POSIX_JOB_CONTROL                   = 1
   715  	X_POSIX_MAPPED_FILES                  = 1
   716  	X_POSIX_MEMLOCK                       = 1
   717  	X_POSIX_MEMLOCK_RANGE                 = 1
   718  	X_POSIX_MEMORY_PROTECTION             = 1
   719  	X_POSIX_MESSAGE_PASSING               = 200112
   720  	X_POSIX_MONOTONIC_CLOCK               = 200112
   721  	X_POSIX_NO_TRUNC                      = 1
   722  	X_POSIX_PRIORITIZED_IO                = -1
   723  	X_POSIX_PRIORITY_SCHEDULING           = 200112
   724  	X_POSIX_RAW_SOCKETS                   = 200112
   725  	X_POSIX_READER_WRITER_LOCKS           = 200112
   726  	X_POSIX_REGEXP                        = 1
   727  	X_POSIX_SEMAPHORES                    = 0
   728  	X_POSIX_SHARED_MEMORY_OBJECTS         = 0
   729  	X_POSIX_SHELL                         = 1
   730  	X_POSIX_SPAWN                         = 200809
   731  	X_POSIX_SPIN_LOCKS                    = 200112
   732  	X_POSIX_SYNCHRONIZED_IO               = 1
   733  	X_POSIX_THREADS                       = 200112
   734  	X_POSIX_THREAD_ATTR_STACKADDR         = 200112
   735  	X_POSIX_THREAD_ATTR_STACKSIZE         = 200112
   736  	X_POSIX_THREAD_CPUTIME                = 200112
   737  	X_POSIX_THREAD_PRIO_PROTECT           = 200112
   738  	X_POSIX_THREAD_SAFE_FUNCTIONS         = 200112
   739  	X_POSIX_TIMERS                        = 200112
   740  	X_POSIX_VERSION                       = 200112
   741  	X_PT_BARRIERATTR_DEAD                 = 0xDEAD0808
   742  	X_PT_BARRIERATTR_MAGIC                = 0x88880808
   743  	X_PT_BARRIER_DEAD                     = 0xDEAD0008
   744  	X_PT_BARRIER_MAGIC                    = 0x88880008
   745  	X_PT_CONDATTR_DEAD                    = 0xDEAD0006
   746  	X_PT_CONDATTR_MAGIC                   = 0x66660006
   747  	X_PT_COND_DEAD                        = 0xDEAD0005
   748  	X_PT_COND_MAGIC                       = 0x55550005
   749  	X_PT_MUTEXATTR_DEAD                   = 0xDEAD0004
   750  	X_PT_MUTEXATTR_MAGIC                  = 0x44440004
   751  	X_PT_MUTEX_DEAD                       = 0xDEAD0003
   752  	X_PT_MUTEX_MAGIC                      = 0x33330003
   753  	X_PT_RWLOCKATTR_DEAD                  = 0xDEAD0909
   754  	X_PT_RWLOCKATTR_MAGIC                 = 0x99990909
   755  	X_PT_RWLOCK_DEAD                      = 0xDEAD0009
   756  	X_PT_RWLOCK_MAGIC                     = 0x99990009
   757  	X_PT_SPINLOCK_DEAD                    = 0xDEAD0007
   758  	X_PT_SPINLOCK_MAGIC                   = 0x77770007
   759  	X_PT_SPINLOCK_PSHARED                 = 0x00000001
   760  	X_QUAD_HIGHWORD                       = 1
   761  	X_QUAD_LOWWORD                        = 0
   762  	X_SC_2_CHAR_TERM                      = 20
   763  	X_SC_2_C_BIND                         = 18
   764  	X_SC_2_C_DEV                          = 19
   765  	X_SC_2_FORT_DEV                       = 21
   766  	X_SC_2_FORT_RUN                       = 22
   767  	X_SC_2_LOCALEDEF                      = 23
   768  	X_SC_2_PBS                            = 80
   769  	X_SC_2_PBS_ACCOUNTING                 = 81
   770  	X_SC_2_PBS_CHECKPOINT                 = 82
   771  	X_SC_2_PBS_LOCATE                     = 83
   772  	X_SC_2_PBS_MESSAGE                    = 84
   773  	X_SC_2_PBS_TRACK                      = 85
   774  	X_SC_2_SW_DEV                         = 24
   775  	X_SC_2_UPE                            = 25
   776  	X_SC_2_VERSION                        = 17
   777  	X_SC_AIO_LISTIO_MAX                   = 51
   778  	X_SC_AIO_MAX                          = 52
   779  	X_SC_ARG_MAX                          = 1
   780  	X_SC_ASYNCHRONOUS_IO                  = 50
   781  	X_SC_ATEXIT_MAX                       = 40
   782  	X_SC_BARRIERS                         = 43
   783  	X_SC_BC_BASE_MAX                      = 9
   784  	X_SC_BC_DIM_MAX                       = 10
   785  	X_SC_BC_SCALE_MAX                     = 11
   786  	X_SC_BC_STRING_MAX                    = 12
   787  	X_SC_CHILD_MAX                        = 2
   788  	X_SC_CLK_TCK                          = 39
   789  	X_SC_CLOCK_SELECTION                  = 49
   790  	X_SC_COLL_WEIGHTS_MAX                 = 13
   791  	X_SC_CPUTIME                          = 90
   792  	X_SC_DELAYTIMER_MAX                   = 92
   793  	X_SC_EXPR_NEST_MAX                    = 14
   794  	X_SC_FSYNC                            = 29
   795  	X_SC_GETGR_R_SIZE_MAX                 = 47
   796  	X_SC_GETPW_R_SIZE_MAX                 = 48
   797  	X_SC_HOST_NAME_MAX                    = 69
   798  	X_SC_IOV_MAX                          = 32
   799  	X_SC_JOB_CONTROL                      = 6
   800  	X_SC_LINE_MAX                         = 15
   801  	X_SC_LOGIN_NAME_MAX                   = 37
   802  	X_SC_MAPPED_FILES                     = 33
   803  	X_SC_MEMLOCK                          = 34
   804  	X_SC_MEMLOCK_RANGE                    = 35
   805  	X_SC_MEMORY_PROTECTION                = 36
   806  	X_SC_MESSAGE_PASSING                  = 53
   807  	X_SC_MONOTONIC_CLOCK                  = 38
   808  	X_SC_MQ_OPEN_MAX                      = 54
   809  	X_SC_MQ_PRIO_MAX                      = 55
   810  	X_SC_NGROUPS_MAX                      = 4
   811  	X_SC_NPROCESSORS_CONF                 = 1001
   812  	X_SC_NPROCESSORS_ONLN                 = 1002
   813  	X_SC_OPEN_MAX                         = 5
   814  	X_SC_PAGESIZE                         = 28
   815  	X_SC_PAGE_SIZE                        = 28
   816  	X_SC_PASS_MAX                         = 70
   817  	X_SC_PHYS_PAGES                       = 121
   818  	X_SC_PRIORITY_SCHEDULING              = 56
   819  	X_SC_READER_WRITER_LOCKS              = 46
   820  	X_SC_REALTIME_SIGNALS                 = 94
   821  	X_SC_REGEXP                           = 71
   822  	X_SC_RE_DUP_MAX                       = 16
   823  	X_SC_SAVED_IDS                        = 7
   824  	X_SC_SCHED_PRI_MAX                    = 2003
   825  	X_SC_SCHED_PRI_MIN                    = 2002
   826  	X_SC_SCHED_RT_TS                      = 2001
   827  	X_SC_SEMAPHORES                       = 42
   828  	X_SC_SEM_NSEMS_MAX                    = 89
   829  	X_SC_SHARED_MEMORY_OBJECTS            = 87
   830  	X_SC_SHELL                            = 72
   831  	X_SC_SIGQUEUE_MAX                     = 93
   832  	X_SC_SPAWN                            = 86
   833  	X_SC_SPIN_LOCKS                       = 45
   834  	X_SC_STREAM_MAX                       = 26
   835  	X_SC_SYMLOOP_MAX                      = 73
   836  	X_SC_SYNCHRONIZED_IO                  = 31
   837  	X_SC_THREADS                          = 41
   838  	X_SC_THREAD_ATTR_STACKADDR            = 61
   839  	X_SC_THREAD_ATTR_STACKSIZE            = 62
   840  	X_SC_THREAD_CPUTIME                   = 91
   841  	X_SC_THREAD_DESTRUCTOR_ITERATIONS     = 57
   842  	X_SC_THREAD_KEYS_MAX                  = 58
   843  	X_SC_THREAD_PRIORITY_SCHEDULING       = 63
   844  	X_SC_THREAD_PRIO_INHERIT              = 64
   845  	X_SC_THREAD_PRIO_PROTECT              = 65
   846  	X_SC_THREAD_PROCESS_SHARED            = 66
   847  	X_SC_THREAD_SAFE_FUNCTIONS            = 67
   848  	X_SC_THREAD_STACK_MIN                 = 59
   849  	X_SC_THREAD_THREADS_MAX               = 60
   850  	X_SC_TIMERS                           = 44
   851  	X_SC_TIMER_MAX                        = 88
   852  	X_SC_TTY_NAME_MAX                     = 68
   853  	X_SC_TZNAME_MAX                       = 27
   854  	X_SC_V6_ILP32_OFF32                   = 74
   855  	X_SC_V6_ILP32_OFFBIG                  = 75
   856  	X_SC_V6_LP64_OFF64                    = 76
   857  	X_SC_V6_LPBIG_OFFBIG                  = 77
   858  	X_SC_VERSION                          = 8
   859  	X_SC_XOPEN_SHM                        = 30
   860  	X_SQLITE3RTREE_H_                     = 0
   861  	X_STDIO_H_                            = 0
   862  	X_STDLIB_H_                           = 0
   863  	X_STRINGS_H_                          = 0
   864  	X_STRING_H_                           = 0
   865  	X_SYS_ANSI_H_                         = 0
   866  	X_SYS_BSWAP_H_                        = 0
   867  	X_SYS_CDEFS_ELF_H_                    = 0
   868  	X_SYS_CDEFS_H_                        = 0
   869  	X_SYS_COMMON_ANSI_H_                  = 0
   870  	X_SYS_COMMON_INT_LIMITS_H_            = 0
   871  	X_SYS_COMMON_INT_MWGWTYPES_H_         = 0
   872  	X_SYS_COMMON_INT_TYPES_H_             = 0
   873  	X_SYS_CTYPE_BITS_H_                   = 0
   874  	X_SYS_ENDIAN_H_                       = 0
   875  	X_SYS_FD_SET_H_                       = 0
   876  	X_SYS_NULL_H_                         = 0
   877  	X_SYS_STDARG_H_                       = 0
   878  	X_SYS_STDINT_H_                       = 0
   879  	X_SYS_TYPES_H_                        = 0
   880  	X_SYS_UNISTD_H_                       = 0
   881  	X_UNISTD_H_                           = 0
   882  	X_X86_64_BSWAP_H_                     = 0
   883  	X_X86_64_CDEFS_H_                     = 0
   884  	X_X86_64_TYPES_H_                     = 0
   885  	X_XOPEN_SHM                           = 0
   886  )
   887  
   888  type ptrdiff_t = int64
   889  
   890  type size_t = uint64
   891  
   892  type wchar_t = int32
   893  
   894  var zHelp = *(*[2263]int8)(unsafe.Pointer(ts))
   895  
   896  type va_list = uintptr
   897  
   898  type sqlite_int64 = int64
   899  type sqlite_uint64 = uint64
   900  type sqlite3_int64 = sqlite_int64
   901  type sqlite3_uint64 = sqlite_uint64
   902  
   903  type sqlite3_callback = uintptr
   904  
   905  type sqlite3_file1 = struct{ pMethods uintptr }
   906  
   907  type sqlite3_file = sqlite3_file1
   908  type sqlite3_io_methods1 = struct {
   909  	iVersion               int32
   910  	_                      [4]byte
   911  	xClose                 uintptr
   912  	xRead                  uintptr
   913  	xWrite                 uintptr
   914  	xTruncate              uintptr
   915  	xSync                  uintptr
   916  	xFileSize              uintptr
   917  	xLock                  uintptr
   918  	xUnlock                uintptr
   919  	xCheckReservedLock     uintptr
   920  	xFileControl           uintptr
   921  	xSectorSize            uintptr
   922  	xDeviceCharacteristics uintptr
   923  	xShmMap                uintptr
   924  	xShmLock               uintptr
   925  	xShmBarrier            uintptr
   926  	xShmUnmap              uintptr
   927  	xFetch                 uintptr
   928  	xUnfetch               uintptr
   929  }
   930  
   931  type sqlite3_io_methods = sqlite3_io_methods1
   932  
   933  type sqlite3_vfs1 = struct {
   934  	iVersion          int32
   935  	szOsFile          int32
   936  	mxPathname        int32
   937  	_                 [4]byte
   938  	pNext             uintptr
   939  	zName             uintptr
   940  	pAppData          uintptr
   941  	xOpen             uintptr
   942  	xDelete           uintptr
   943  	xAccess           uintptr
   944  	xFullPathname     uintptr
   945  	xDlOpen           uintptr
   946  	xDlError          uintptr
   947  	xDlSym            uintptr
   948  	xDlClose          uintptr
   949  	xRandomness       uintptr
   950  	xSleep            uintptr
   951  	xCurrentTime      uintptr
   952  	xGetLastError     uintptr
   953  	xCurrentTimeInt64 uintptr
   954  	xSetSystemCall    uintptr
   955  	xGetSystemCall    uintptr
   956  	xNextSystemCall   uintptr
   957  }
   958  
   959  type sqlite3_vfs = sqlite3_vfs1
   960  type sqlite3_syscall_ptr = uintptr
   961  
   962  type sqlite3_mem_methods1 = struct {
   963  	xMalloc   uintptr
   964  	xFree     uintptr
   965  	xRealloc  uintptr
   966  	xSize     uintptr
   967  	xRoundup  uintptr
   968  	xInit     uintptr
   969  	xShutdown uintptr
   970  	pAppData  uintptr
   971  }
   972  
   973  type sqlite3_mem_methods = sqlite3_mem_methods1
   974  
   975  type sqlite3_destructor_type = uintptr
   976  
   977  type sqlite3_vtab1 = struct {
   978  	pModule uintptr
   979  	nRef    int32
   980  	_       [4]byte
   981  	zErrMsg uintptr
   982  }
   983  
   984  type sqlite3_vtab = sqlite3_vtab1
   985  type sqlite3_index_info1 = struct {
   986  	nConstraint      int32
   987  	_                [4]byte
   988  	aConstraint      uintptr
   989  	nOrderBy         int32
   990  	_                [4]byte
   991  	aOrderBy         uintptr
   992  	aConstraintUsage uintptr
   993  	idxNum           int32
   994  	_                [4]byte
   995  	idxStr           uintptr
   996  	needToFreeIdxStr int32
   997  	orderByConsumed  int32
   998  	estimatedCost    float64
   999  	estimatedRows    sqlite3_int64
  1000  	idxFlags         int32
  1001  	_                [4]byte
  1002  	colUsed          sqlite3_uint64
  1003  }
  1004  
  1005  type sqlite3_index_info = sqlite3_index_info1
  1006  type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }
  1007  
  1008  type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
  1009  type sqlite3_module1 = struct {
  1010  	iVersion      int32
  1011  	_             [4]byte
  1012  	xCreate       uintptr
  1013  	xConnect      uintptr
  1014  	xBestIndex    uintptr
  1015  	xDisconnect   uintptr
  1016  	xDestroy      uintptr
  1017  	xOpen         uintptr
  1018  	xClose        uintptr
  1019  	xFilter       uintptr
  1020  	xNext         uintptr
  1021  	xEof          uintptr
  1022  	xColumn       uintptr
  1023  	xRowid        uintptr
  1024  	xUpdate       uintptr
  1025  	xBegin        uintptr
  1026  	xSync         uintptr
  1027  	xCommit       uintptr
  1028  	xRollback     uintptr
  1029  	xFindFunction uintptr
  1030  	xRename       uintptr
  1031  	xSavepoint    uintptr
  1032  	xRelease      uintptr
  1033  	xRollbackTo   uintptr
  1034  	xShadowName   uintptr
  1035  }
  1036  
  1037  type sqlite3_module = sqlite3_module1
  1038  
  1039  type sqlite3_index_constraint = struct {
  1040  	iColumn     int32
  1041  	op          uint8
  1042  	usable      uint8
  1043  	_           [2]byte
  1044  	iTermOffset int32
  1045  }
  1046  
  1047  type sqlite3_index_orderby = struct {
  1048  	iColumn int32
  1049  	desc    uint8
  1050  	_       [3]byte
  1051  }
  1052  
  1053  type sqlite3_index_constraint_usage = struct {
  1054  	argvIndex int32
  1055  	omit      uint8
  1056  	_         [3]byte
  1057  }
  1058  
  1059  type sqlite3_mutex_methods1 = struct {
  1060  	xMutexInit    uintptr
  1061  	xMutexEnd     uintptr
  1062  	xMutexAlloc   uintptr
  1063  	xMutexFree    uintptr
  1064  	xMutexEnter   uintptr
  1065  	xMutexTry     uintptr
  1066  	xMutexLeave   uintptr
  1067  	xMutexHeld    uintptr
  1068  	xMutexNotheld uintptr
  1069  }
  1070  
  1071  type sqlite3_mutex_methods = sqlite3_mutex_methods1
  1072  
  1073  type sqlite3_pcache_page1 = struct {
  1074  	pBuf   uintptr
  1075  	pExtra uintptr
  1076  }
  1077  
  1078  type sqlite3_pcache_page = sqlite3_pcache_page1
  1079  
  1080  type sqlite3_pcache_methods21 = struct {
  1081  	iVersion   int32
  1082  	_          [4]byte
  1083  	pArg       uintptr
  1084  	xInit      uintptr
  1085  	xShutdown  uintptr
  1086  	xCreate    uintptr
  1087  	xCachesize uintptr
  1088  	xPagecount uintptr
  1089  	xFetch     uintptr
  1090  	xUnpin     uintptr
  1091  	xRekey     uintptr
  1092  	xTruncate  uintptr
  1093  	xDestroy   uintptr
  1094  	xShrink    uintptr
  1095  }
  1096  
  1097  type sqlite3_pcache_methods2 = sqlite3_pcache_methods21
  1098  
  1099  type sqlite3_pcache_methods1 = struct {
  1100  	pArg       uintptr
  1101  	xInit      uintptr
  1102  	xShutdown  uintptr
  1103  	xCreate    uintptr
  1104  	xCachesize uintptr
  1105  	xPagecount uintptr
  1106  	xFetch     uintptr
  1107  	xUnpin     uintptr
  1108  	xRekey     uintptr
  1109  	xTruncate  uintptr
  1110  	xDestroy   uintptr
  1111  }
  1112  
  1113  type sqlite3_pcache_methods = sqlite3_pcache_methods1
  1114  
  1115  type sqlite3_snapshot1 = struct{ hidden [48]uint8 }
  1116  
  1117  type sqlite3_snapshot = sqlite3_snapshot1
  1118  
  1119  type sqlite3_rtree_geometry1 = struct {
  1120  	pContext uintptr
  1121  	nParam   int32
  1122  	_        [4]byte
  1123  	aParam   uintptr
  1124  	pUser    uintptr
  1125  	xDelUser uintptr
  1126  }
  1127  
  1128  type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
  1129  type sqlite3_rtree_query_info1 = struct {
  1130  	pContext      uintptr
  1131  	nParam        int32
  1132  	_             [4]byte
  1133  	aParam        uintptr
  1134  	pUser         uintptr
  1135  	xDelUser      uintptr
  1136  	aCoord        uintptr
  1137  	anQueue       uintptr
  1138  	nCoord        int32
  1139  	iLevel        int32
  1140  	mxLevel       int32
  1141  	_             [4]byte
  1142  	iRowid        sqlite3_int64
  1143  	rParentScore  sqlite3_rtree_dbl
  1144  	eParentWithin int32
  1145  	eWithin       int32
  1146  	rScore        sqlite3_rtree_dbl
  1147  	apSqlParam    uintptr
  1148  }
  1149  
  1150  type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
  1151  
  1152  type sqlite3_rtree_dbl = float64
  1153  
  1154  type Fts5ExtensionApi1 = struct {
  1155  	iVersion           int32
  1156  	_                  [4]byte
  1157  	xUserData          uintptr
  1158  	xColumnCount       uintptr
  1159  	xRowCount          uintptr
  1160  	xColumnTotalSize   uintptr
  1161  	xTokenize          uintptr
  1162  	xPhraseCount       uintptr
  1163  	xPhraseSize        uintptr
  1164  	xInstCount         uintptr
  1165  	xInst              uintptr
  1166  	xRowid             uintptr
  1167  	xColumnText        uintptr
  1168  	xColumnSize        uintptr
  1169  	xQueryPhrase       uintptr
  1170  	xSetAuxdata        uintptr
  1171  	xGetAuxdata        uintptr
  1172  	xPhraseFirst       uintptr
  1173  	xPhraseNext        uintptr
  1174  	xPhraseFirstColumn uintptr
  1175  	xPhraseNextColumn  uintptr
  1176  }
  1177  
  1178  type Fts5ExtensionApi = Fts5ExtensionApi1
  1179  type Fts5PhraseIter1 = struct {
  1180  	a uintptr
  1181  	b uintptr
  1182  }
  1183  
  1184  type Fts5PhraseIter = Fts5PhraseIter1
  1185  
  1186  type fts5_extension_function = uintptr
  1187  type fts5_tokenizer1 = struct {
  1188  	xCreate   uintptr
  1189  	xDelete   uintptr
  1190  	xTokenize uintptr
  1191  }
  1192  
  1193  type fts5_tokenizer = fts5_tokenizer1
  1194  
  1195  type fts5_api1 = struct {
  1196  	iVersion         int32
  1197  	_                [4]byte
  1198  	xCreateTokenizer uintptr
  1199  	xFindTokenizer   uintptr
  1200  	xCreateFunction  uintptr
  1201  }
  1202  
  1203  type fts5_api = fts5_api1
  1204  type ssize_t = int64
  1205  
  1206  type __sfpos = struct {
  1207  	_pos        int64
  1208  	_mbstate_in struct {
  1209  		__mbstateL int64
  1210  		_          [120]byte
  1211  	}
  1212  	_mbstate_out struct {
  1213  		__mbstateL int64
  1214  		_          [120]byte
  1215  	}
  1216  }
  1217  
  1218  type fpos_t = __sfpos
  1219  
  1220  type __sbuf = struct {
  1221  	_base uintptr
  1222  	_size int32
  1223  	_     [4]byte
  1224  }
  1225  
  1226  type __sFILE = struct {
  1227  	_p     uintptr
  1228  	_r     int32
  1229  	_w     int32
  1230  	_flags uint16
  1231  	_file  int16
  1232  	_      [4]byte
  1233  	_bf    struct {
  1234  		_base uintptr
  1235  		_size int32
  1236  		_     [4]byte
  1237  	}
  1238  	_lbfsize int32
  1239  	_        [4]byte
  1240  	_cookie  uintptr
  1241  	_close   uintptr
  1242  	_read    uintptr
  1243  	_seek    uintptr
  1244  	_write   uintptr
  1245  	_ext     struct {
  1246  		_base uintptr
  1247  		_size int32
  1248  		_     [4]byte
  1249  	}
  1250  	_up        uintptr
  1251  	_ur        int32
  1252  	_ubuf      [3]uint8
  1253  	_nbuf      [1]uint8
  1254  	_flush     uintptr
  1255  	_lb_unused [8]int8
  1256  	_blksize   int32
  1257  	_          [4]byte
  1258  	_offset    int64
  1259  }
  1260  
  1261  type FILE = __sFILE
  1262  
  1263  type off_t = int64
  1264  
  1265  type locale_t = uintptr
  1266  
  1267  type int8_t = int8
  1268  
  1269  type uint8_t = uint8
  1270  
  1271  type int16_t = int16
  1272  
  1273  type uint16_t = uint16
  1274  
  1275  type int32_t = int32
  1276  
  1277  type uint32_t = uint32
  1278  
  1279  type int64_t = int64
  1280  
  1281  type uint64_t = uint64
  1282  
  1283  type u_int8_t = uint8_t
  1284  type u_int16_t = uint16_t
  1285  type u_int32_t = uint32_t
  1286  type u_int64_t = uint64_t
  1287  
  1288  type in_addr_t = uint32
  1289  
  1290  type in_port_t = uint16
  1291  
  1292  func __byte_swap_u64_variable(tls *libc.TLS, x uint64_t) uint64_t {
  1293  	panic(`/usr/include/machine/byte_swap.h:50:2: assembler statements not supported`)
  1294  	return x
  1295  }
  1296  
  1297  func __byte_swap_u32_variable(tls *libc.TLS, x uint32_t) uint32_t {
  1298  	panic(`/usr/include/machine/byte_swap.h:59:2: assembler statements not supported`)
  1299  	return x
  1300  }
  1301  
  1302  func __byte_swap_u16_variable(tls *libc.TLS, x uint16_t) uint16_t {
  1303  	panic(`/usr/include/machine/byte_swap.h:68:2: assembler statements not supported`)
  1304  	return x
  1305  }
  1306  
  1307  type intptr_t = int64
  1308  
  1309  type uintptr_t = uint64
  1310  
  1311  type int_least8_t = int8
  1312  type uint_least8_t = uint8
  1313  type int_least16_t = int16
  1314  type uint_least16_t = uint16
  1315  type int_least32_t = int32
  1316  type uint_least32_t = uint32
  1317  type int_least64_t = int64
  1318  type uint_least64_t = uint64
  1319  
  1320  type int_fast8_t = int32
  1321  type uint_fast8_t = uint32
  1322  type int_fast16_t = int32
  1323  type uint_fast16_t = uint32
  1324  type int_fast32_t = int32
  1325  type uint_fast32_t = uint32
  1326  type int_fast64_t = int64
  1327  type uint_fast64_t = uint64
  1328  
  1329  type intmax_t = int64
  1330  type uintmax_t = uint64
  1331  
  1332  type u_char = uint8
  1333  type u_short = uint16
  1334  type u_int = uint32
  1335  type u_long = uint64
  1336  
  1337  type unchar = uint8
  1338  type ushort = uint16
  1339  type uint = uint32
  1340  type ulong = uint64
  1341  
  1342  type u_quad_t = uint64_t
  1343  type quad_t = int64_t
  1344  type qaddr_t = uintptr
  1345  
  1346  type longlong_t = int64_t
  1347  type u_longlong_t = uint64_t
  1348  
  1349  type blkcnt_t = int64_t
  1350  type blksize_t = int32_t
  1351  
  1352  type fsblkcnt_t = uint64
  1353  
  1354  type fsfilcnt_t = uint64
  1355  
  1356  type caddr_t = uintptr
  1357  
  1358  type daddr_t = int64_t
  1359  
  1360  type dev_t = uint64_t
  1361  type fixpt_t = uint32_t
  1362  
  1363  type gid_t = uint32
  1364  
  1365  type id_t = uint32_t
  1366  type ino_t = uint64_t
  1367  type key_t = int64
  1368  
  1369  type mode_t = uint32
  1370  
  1371  type nlink_t = uint32_t
  1372  
  1373  type pid_t = int32
  1374  type lwpid_t = int32_t
  1375  type rlim_t = uint64_t
  1376  type segsz_t = int32_t
  1377  type swblk_t = int32_t
  1378  
  1379  type uid_t = uint32
  1380  
  1381  type mqd_t = int32
  1382  
  1383  type cpuid_t = uint64
  1384  
  1385  type psetid_t = int32
  1386  
  1387  type clock_t = uint32
  1388  
  1389  type time_t = int64
  1390  
  1391  type clockid_t = int32
  1392  
  1393  type timer_t = int32
  1394  
  1395  type suseconds_t = int32
  1396  
  1397  type useconds_t = uint32
  1398  
  1399  type fd_set1 = struct{ fds_bits [8]uint32 }
  1400  
  1401  type fd_set = fd_set1
  1402  
  1403  type kauth_cred_t = uintptr
  1404  
  1405  type pri_t = int32
  1406  
  1407  type pthread_spin_t = uint8
  1408  
  1409  type pthread_queue_struct_t = struct {
  1410  	ptqh_first uintptr
  1411  	ptqh_last  uintptr
  1412  }
  1413  
  1414  type pthread_queue_t = pthread_queue_struct_t
  1415  type __pthread_attr_st = struct {
  1416  	pta_magic   uint32
  1417  	pta_flags   int32
  1418  	pta_private uintptr
  1419  }
  1420  
  1421  type __pthread_mutex_st = struct {
  1422  	ptm_magic      uint32
  1423  	ptm_errorcheck uint8
  1424  	ptm_pad1       [3]uint8_t
  1425  	__8            struct{ ptm_ceiling uint8 }
  1426  	ptm_pad2       [3]uint8_t
  1427  	_              [4]byte
  1428  	ptm_owner      pthread_t
  1429  	ptm_waiters    uintptr
  1430  	ptm_recursed   uint32
  1431  	_              [4]byte
  1432  	ptm_spare2     uintptr
  1433  }
  1434  
  1435  type __pthread_mutexattr_st = struct {
  1436  	ptma_magic   uint32
  1437  	_            [4]byte
  1438  	ptma_private uintptr
  1439  }
  1440  
  1441  type __pthread_cond_st = struct {
  1442  	ptc_magic   uint32
  1443  	ptc_lock    uint8
  1444  	_           [3]byte
  1445  	ptc_waiters pthread_queue_t
  1446  	ptc_mutex   uintptr
  1447  	ptc_private uintptr
  1448  }
  1449  
  1450  type __pthread_condattr_st = struct {
  1451  	ptca_magic   uint32
  1452  	_            [4]byte
  1453  	ptca_private uintptr
  1454  }
  1455  
  1456  type __pthread_rwlock_st = struct {
  1457  	ptr_magic     uint32
  1458  	ptr_interlock uint8
  1459  	_             [3]byte
  1460  	ptr_rblocked  pthread_queue_t
  1461  	ptr_wblocked  pthread_queue_t
  1462  	ptr_nreaders  uint32
  1463  	_             [4]byte
  1464  	ptr_owner     pthread_t
  1465  	ptr_private   uintptr
  1466  }
  1467  
  1468  type __pthread_rwlockattr_st = struct {
  1469  	ptra_magic   uint32
  1470  	_            [4]byte
  1471  	ptra_private uintptr
  1472  }
  1473  
  1474  type __pthread_barrier_st = struct {
  1475  	ptb_magic      uint32
  1476  	ptb_lock       pthread_spin_t
  1477  	_              [3]byte
  1478  	ptb_waiters    pthread_queue_t
  1479  	ptb_initcount  uint32
  1480  	ptb_curcount   uint32
  1481  	ptb_generation uint32
  1482  	_              [4]byte
  1483  	ptb_private    uintptr
  1484  }
  1485  
  1486  type __pthread_barrierattr_st = struct {
  1487  	ptba_magic   uint32
  1488  	_            [4]byte
  1489  	ptba_private uintptr
  1490  }
  1491  
  1492  type pthread_t = uintptr
  1493  type pthread_attr_t = __pthread_attr_st
  1494  type pthread_mutex_t = __pthread_mutex_st
  1495  type pthread_mutexattr_t = __pthread_mutexattr_st
  1496  type pthread_cond_t = __pthread_cond_st
  1497  type pthread_condattr_t = __pthread_condattr_st
  1498  type __pthread_once_st = struct {
  1499  	pto_mutex pthread_mutex_t
  1500  	pto_done  int32
  1501  	_         [4]byte
  1502  }
  1503  
  1504  type pthread_once_t = __pthread_once_st
  1505  type __pthread_spinlock_st = struct {
  1506  	pts_magic uint32
  1507  	pts_spin  uint8
  1508  	_         [3]byte
  1509  	pts_flags int32
  1510  }
  1511  
  1512  type pthread_spinlock_t = __pthread_spinlock_st
  1513  type pthread_rwlock_t = __pthread_rwlock_st
  1514  type pthread_rwlockattr_t = __pthread_rwlockattr_st
  1515  type pthread_barrier_t = __pthread_barrier_st
  1516  type pthread_barrierattr_t = __pthread_barrierattr_st
  1517  type pthread_key_t = int32
  1518  
  1519  type div_t = struct {
  1520  	quot int32
  1521  	rem  int32
  1522  }
  1523  
  1524  type ldiv_t = struct {
  1525  	quot int64
  1526  	rem  int64
  1527  }
  1528  
  1529  type lldiv_t = struct {
  1530  	quot int64
  1531  	rem  int64
  1532  }
  1533  
  1534  type qdiv_t = struct {
  1535  	quot quad_t
  1536  	rem  quad_t
  1537  }
  1538  
  1539  type u64 = sqlite3_uint64
  1540  
  1541  type HashContext1 = struct {
  1542  	isInit uint8
  1543  	i      uint8
  1544  	j      uint8
  1545  	s      [256]uint8
  1546  	r      [32]uint8
  1547  }
  1548  
  1549  type HashContext = HashContext1
  1550  
  1551  type Global = struct {
  1552  	db            uintptr
  1553  	pStmt         uintptr
  1554  	iStart        sqlite3_int64
  1555  	iTotal        sqlite3_int64
  1556  	bWithoutRowid int32
  1557  	bReprepare    int32
  1558  	bSqlOnly      int32
  1559  	bExplain      int32
  1560  	bVerify       int32
  1561  	bMemShrink    int32
  1562  	eTemp         int32
  1563  	szTest        int32
  1564  	nRepeat       int32
  1565  	doCheckpoint  int32
  1566  	nReserve      int32
  1567  	_             [4]byte
  1568  	zWR           uintptr
  1569  	zNN           uintptr
  1570  	zPK           uintptr
  1571  	x             uint32
  1572  	y             uint32
  1573  	nResByte      u64
  1574  	nResult       int32
  1575  	zResult       [3000]int8
  1576  	_             [4]byte
  1577  	hashFile      uintptr
  1578  	hash          HashContext
  1579  	_             [5]byte
  1580  }
  1581  
  1582  var g Global
  1583  
  1584  func isTemp(tls *libc.TLS, N int32) uintptr {
  1585  	if g.eTemp >= N {
  1586  		return ts + 2263
  1587  	}
  1588  	return ts + 2269
  1589  }
  1590  
  1591  func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) {
  1592  	var ap va_list
  1593  	_ = ap
  1594  	ap = va
  1595  	libc.Xvfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152, zMsg, ap)
  1596  	_ = ap
  1597  	libc.Xexit(tls, 1)
  1598  }
  1599  
  1600  func HashInit(tls *libc.TLS) {
  1601  	var k uint32
  1602  	g.hash.i = uint8(0)
  1603  	g.hash.j = uint8(0)
  1604  	for k = uint32(0); k < uint32(256); k++ {
  1605  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(k))) = uint8(k)
  1606  	}
  1607  }
  1608  
  1609  func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) {
  1610  	var t uint8
  1611  	var i uint8 = g.hash.i
  1612  	var j uint8 = g.hash.j
  1613  	var k uint32
  1614  	if g.hashFile != 0 {
  1615  		libc.Xfwrite(tls, aData, uint64(1), uint64(nData), g.hashFile)
  1616  	}
  1617  	for k = uint32(0); k < nData; k++ {
  1618  		j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k))))))
  1619  		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j)))
  1620  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))
  1621  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = t
  1622  		i++
  1623  	}
  1624  	g.hash.i = i
  1625  	g.hash.j = j
  1626  }
  1627  
  1628  func HashFinal(tls *libc.TLS) {
  1629  	var k uint32
  1630  	var t uint8
  1631  	var i uint8
  1632  	var j uint8
  1633  	i = g.hash.i
  1634  	j = g.hash.j
  1635  	for k = uint32(0); k < uint32(32); k++ {
  1636  		i++
  1637  		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))
  1638  		j = uint8(int32(j) + int32(t))
  1639  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j)))
  1640  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = t
  1641  		t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))))
  1642  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(t)))
  1643  	}
  1644  }
  1645  
  1646  func hexDigitValue(tls *libc.TLS, c int8) int32 {
  1647  	if int32(c) >= '0' && int32(c) <= '9' {
  1648  		return int32(c) - '0'
  1649  	}
  1650  	if int32(c) >= 'a' && int32(c) <= 'f' {
  1651  		return int32(c) - 'a' + 10
  1652  	}
  1653  	if int32(c) >= 'A' && int32(c) <= 'F' {
  1654  		return int32(c) - 'A' + 10
  1655  	}
  1656  	return -1
  1657  }
  1658  
  1659  func integerValue(tls *libc.TLS, zArg uintptr) int32 {
  1660  	var v sqlite3_int64 = int64(0)
  1661  	var i int32
  1662  	var isNeg int32 = 0
  1663  	if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' {
  1664  		isNeg = 1
  1665  		zArg++
  1666  	} else if int32(*(*int8)(unsafe.Pointer(zArg))) == '+' {
  1667  		zArg++
  1668  	}
  1669  	if int32(*(*int8)(unsafe.Pointer(zArg))) == '0' && int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 'x' {
  1670  		var x int32
  1671  		zArg += uintptr(2)
  1672  		for libc.AssignInt32(&x, hexDigitValue(tls, *(*int8)(unsafe.Pointer(zArg)))) >= 0 {
  1673  			v = v<<4 + sqlite3_int64(x)
  1674  			zArg++
  1675  		}
  1676  	} else {
  1677  		for int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(*(*int8)(unsafe.Pointer(zArg)))*2)))&X_CTYPE_D != 0 {
  1678  			v = v*int64(10) + sqlite3_int64(*(*int8)(unsafe.Pointer(zArg))) - int64('0')
  1679  			zArg++
  1680  		}
  1681  	}
  1682  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aMult))/uint64(unsafe.Sizeof(struct {
  1683  		zSuffix uintptr
  1684  		iMult   int32
  1685  		_       [4]byte
  1686  	}{})); i++ {
  1687  		if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 {
  1688  			v = v * sqlite3_int64(aMult[i].iMult)
  1689  			break
  1690  		}
  1691  	}
  1692  	if v > int64(0x7fffffff) {
  1693  		fatal_error(tls, ts+2270, 0)
  1694  	}
  1695  	return func() int32 {
  1696  		if isNeg != 0 {
  1697  			return int32(-v)
  1698  		}
  1699  		return int32(v)
  1700  	}()
  1701  }
  1702  
  1703  var aMult = [9]struct {
  1704  	zSuffix uintptr
  1705  	iMult   int32
  1706  	_       [4]byte
  1707  }{
  1708  	{zSuffix: ts + 2307, iMult: 1024},
  1709  	{zSuffix: ts + 2311, iMult: 1024 * 1024},
  1710  	{zSuffix: ts + 2315, iMult: 1024 * 1024 * 1024},
  1711  	{zSuffix: ts + 2319, iMult: 1000},
  1712  	{zSuffix: ts + 2322, iMult: 1000000},
  1713  	{zSuffix: ts + 2325, iMult: 1000000000},
  1714  	{zSuffix: ts + 2328, iMult: 1000},
  1715  	{zSuffix: ts + 2330, iMult: 1000000},
  1716  	{zSuffix: ts + 2332, iMult: 1000000000},
  1717  }
  1718  
  1719  func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 {
  1720  	bp := tls.Alloc(16)
  1721  	defer tls.Free(16)
  1722  
  1723  	if clockVfs == uintptr(0) {
  1724  		clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
  1725  	}
  1726  	if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) {
  1727  		(*struct {
  1728  			f func(*libc.TLS, uintptr, uintptr) int32
  1729  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp)
  1730  	} else {
  1731  		(*struct {
  1732  			f func(*libc.TLS, uintptr, uintptr) int32
  1733  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8)
  1734  		*(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0)
  1735  	}
  1736  	return *(*sqlite3_int64)(unsafe.Pointer(bp))
  1737  }
  1738  
  1739  var clockVfs uintptr = uintptr(0)
  1740  
  1741  func speedtest1_random(tls *libc.TLS) uint32 {
  1742  	g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001
  1743  	g.y = g.y*uint32(1103515245) + uint32(12345)
  1744  	return g.x ^ g.y
  1745  }
  1746  
  1747  func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 {
  1748  	var out uint32 = uint32(0)
  1749  	for limit != 0 {
  1750  		out = out<<1 | in&uint32(1)
  1751  		in >>= 1
  1752  		limit >>= 1
  1753  	}
  1754  	return out
  1755  }
  1756  
  1757  func roundup_allones(tls *libc.TLS, limit uint32) uint32 {
  1758  	var m uint32 = uint32(1)
  1759  	for m < limit {
  1760  		m = m<<1 + uint32(1)
  1761  	}
  1762  	return m
  1763  }
  1764  
  1765  func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 {
  1766  	bp := tls.Alloc(24)
  1767  	defer tls.Free(24)
  1768  
  1769  	var i int32 = 0
  1770  
  1771  	if n >= uint32(1000000000) {
  1772  		i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i)
  1773  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2334, 0)
  1774  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1775  		n = n % uint32(1000000000)
  1776  	}
  1777  	if n >= uint32(1000000) {
  1778  		if i != 0 && i < nOut-1 {
  1779  			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
  1780  		}
  1781  		i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i)
  1782  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2343, 0)
  1783  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1784  		n = n % uint32(1000000)
  1785  	}
  1786  	if n >= uint32(1000) {
  1787  		if i != 0 && i < nOut-1 {
  1788  			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
  1789  		}
  1790  		i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i)
  1791  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2352, 0)
  1792  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1793  		n = n % uint32(1000)
  1794  	}
  1795  	if n >= uint32(100) {
  1796  		if i != 0 && i < nOut-1 {
  1797  			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
  1798  		}
  1799  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2362, libc.VaList(bp, ones[n/uint32(100)]))
  1800  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1801  		n = n % uint32(100)
  1802  	}
  1803  	if n >= uint32(20) {
  1804  		if i != 0 && i < nOut-1 {
  1805  			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
  1806  		}
  1807  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+8, tens[n/uint32(10)]))
  1808  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1809  		n = n % uint32(10)
  1810  	}
  1811  	if n > uint32(0) {
  1812  		if i != 0 && i < nOut-1 {
  1813  			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
  1814  		}
  1815  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+16, ones[n]))
  1816  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1817  	}
  1818  	if i == 0 {
  1819  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2376, 0)
  1820  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1821  	}
  1822  	return i
  1823  }
  1824  
  1825  var ones = [20]uintptr{ts + 2376, ts + 2381, ts + 2385, ts + 2389, ts + 2395, ts + 2400,
  1826  	ts + 2405, ts + 2409, ts + 2415, ts + 2421, ts + 2426, ts + 2430, ts + 2437,
  1827  	ts + 2444, ts + 2453, ts + 2462, ts + 2470, ts + 2478,
  1828  	ts + 2488, ts + 2497}
  1829  var tens = [10]uintptr{ts + 2269, ts + 2426, ts + 2506, ts + 2513, ts + 2520,
  1830  	ts + 2526, ts + 2532, ts + 2538, ts + 2546, ts + 2553}
  1831  
  1832  var zDots = *(*[72]int8)(unsafe.Pointer(ts + 2560))
  1833  
  1834  func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) {
  1835  	bp := tls.Alloc(64)
  1836  	defer tls.Free(64)
  1837  
  1838  	var n int32 = int32(libc.Xstrlen(tls, zTestName))
  1839  	var zName uintptr
  1840  	var ap va_list
  1841  	_ = ap
  1842  	ap = va
  1843  	zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap)
  1844  	_ = ap
  1845  	n = int32(libc.Xstrlen(tls, zName))
  1846  	if n > NAMEWIDTH {
  1847  		*(*int8)(unsafe.Pointer(zName + 60)) = int8(0)
  1848  		n = NAMEWIDTH
  1849  	}
  1850  	if g.bSqlOnly != 0 {
  1851  		libc.Xprintf(tls, ts+2632, libc.VaList(bp, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
  1852  	} else {
  1853  		libc.Xprintf(tls, ts+2652, libc.VaList(bp+32, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
  1854  		libc.Xfflush(tls, uintptr(unsafe.Pointer(&libc.X__sF))+1*152)
  1855  	}
  1856  	sqlite3.Xsqlite3_free(tls, zName)
  1857  	g.nResult = 0
  1858  	g.iStart = speedtest1_timestamp(tls)
  1859  	g.x = 0xad131d0b
  1860  	g.y = uint32(0x44f9eac8)
  1861  }
  1862  
  1863  func speedtest1_end_test(tls *libc.TLS) {
  1864  	bp := tls.Alloc(16)
  1865  	defer tls.Free(16)
  1866  
  1867  	var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart
  1868  	if g.doCheckpoint != 0 {
  1869  		speedtest1_exec(tls, ts+2666, 0)
  1870  	}
  1871  	if !(g.bSqlOnly != 0) {
  1872  		*(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 24)) += iElapseTime
  1873  		libc.Xprintf(tls, ts+2689, libc.VaList(bp, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000))))
  1874  	}
  1875  	if g.pStmt != 0 {
  1876  		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  1877  		g.pStmt = uintptr(0)
  1878  	}
  1879  }
  1880  
  1881  func speedtest1_final(tls *libc.TLS) {
  1882  	bp := tls.Alloc(48)
  1883  	defer tls.Free(48)
  1884  
  1885  	if !(g.bSqlOnly != 0) {
  1886  		libc.Xprintf(tls, ts+2700, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)),
  1887  			int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000))))
  1888  	}
  1889  	if g.bVerify != 0 {
  1890  		var i int32
  1891  		libc.Xprintf(tls, ts+2728, libc.VaList(bp+32, g.nResByte))
  1892  		HashUpdate(tls, ts+2753, uint32(1))
  1893  		HashFinal(tls)
  1894  		for i = 0; i < 24; i++ {
  1895  			libc.Xprintf(tls, ts+2755, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(i))))))
  1896  		}
  1897  		if g.hashFile != 0 && g.hashFile != uintptr(unsafe.Pointer(&libc.X__sF))+1*152 {
  1898  			libc.Xfclose(tls, g.hashFile)
  1899  		}
  1900  		libc.Xprintf(tls, ts+2753, 0)
  1901  	}
  1902  }
  1903  
  1904  func printSql(tls *libc.TLS, zSql uintptr) {
  1905  	bp := tls.Alloc(32)
  1906  	defer tls.Free(32)
  1907  
  1908  	var n int32 = int32(libc.Xstrlen(tls, zSql))
  1909  	for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&X_CTYPE_S != 0) {
  1910  		n--
  1911  	}
  1912  	if g.bExplain != 0 {
  1913  		libc.Xprintf(tls, ts+2760, 0)
  1914  	}
  1915  	libc.Xprintf(tls, ts+2769, libc.VaList(bp, n, zSql))
  1916  	if g.bExplain != 0 &&
  1917  		(sqlite3.Xsqlite3_strglob(tls, ts+2776, zSql) == 0 ||
  1918  			sqlite3.Xsqlite3_strglob(tls, ts+2785, zSql) == 0 ||
  1919  			sqlite3.Xsqlite3_strglob(tls, ts+2792, zSql) == 0) {
  1920  		libc.Xprintf(tls, ts+2769, libc.VaList(bp+16, n, zSql))
  1921  	}
  1922  }
  1923  
  1924  func speedtest1_shrink_memory(tls *libc.TLS) {
  1925  	if g.bMemShrink != 0 {
  1926  		sqlite3.Xsqlite3_db_release_memory(tls, g.db)
  1927  	}
  1928  }
  1929  
  1930  func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1931  	bp := tls.Alloc(32)
  1932  	defer tls.Free(32)
  1933  
  1934  	var ap va_list
  1935  	_ = ap
  1936  	var zSql uintptr
  1937  	ap = va
  1938  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1939  	_ = ap
  1940  	if g.bSqlOnly != 0 {
  1941  		printSql(tls, zSql)
  1942  	} else {
  1943  		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
  1944  		var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24)
  1945  		if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 {
  1946  			fatal_error(tls, ts+2800, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24)), zSql))
  1947  		}
  1948  		if rc != SQLITE_OK {
  1949  			fatal_error(tls, ts+2818, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  1950  		}
  1951  	}
  1952  	sqlite3.Xsqlite3_free(tls, zSql)
  1953  	speedtest1_shrink_memory(tls)
  1954  }
  1955  
  1956  func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
  1957  	bp := tls.Alloc(24)
  1958  	defer tls.Free(24)
  1959  
  1960  	var ap va_list
  1961  	_ = ap
  1962  	var zSql uintptr
  1963  
  1964  	var zResult uintptr = uintptr(0)
  1965  	ap = va
  1966  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1967  	_ = ap
  1968  	if g.bSqlOnly != 0 {
  1969  		printSql(tls, zSql)
  1970  	} else {
  1971  		var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0))
  1972  		if rc != 0 {
  1973  			fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  1974  		}
  1975  		if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW {
  1976  			var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 0)
  1977  			if z != 0 {
  1978  				zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2373, libc.VaList(bp+8, z))
  1979  			}
  1980  		}
  1981  		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  1982  	}
  1983  	sqlite3.Xsqlite3_free(tls, zSql)
  1984  	speedtest1_shrink_memory(tls)
  1985  	return zResult
  1986  }
  1987  
  1988  func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1989  	bp := tls.Alloc(8)
  1990  	defer tls.Free(8)
  1991  
  1992  	var ap va_list
  1993  	_ = ap
  1994  	var zSql uintptr
  1995  	ap = va
  1996  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1997  	_ = ap
  1998  	if g.bSqlOnly != 0 {
  1999  		printSql(tls, zSql)
  2000  	} else {
  2001  		var rc int32
  2002  		if g.pStmt != 0 {
  2003  			sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2004  		}
  2005  		rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+8, uintptr(0))
  2006  		if rc != 0 {
  2007  			fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2008  		}
  2009  	}
  2010  	sqlite3.Xsqlite3_free(tls, zSql)
  2011  }
  2012  
  2013  func speedtest1_run(tls *libc.TLS) {
  2014  	bp := tls.Alloc(16)
  2015  	defer tls.Free(16)
  2016  
  2017  	var i int32
  2018  	var n int32
  2019  	var len int32
  2020  	if g.bSqlOnly != 0 {
  2021  		return
  2022  	}
  2023  
  2024  	g.nResult = 0
  2025  	for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW {
  2026  		n = sqlite3.Xsqlite3_column_count(tls, g.pStmt)
  2027  		for i = 0; i < n; i++ {
  2028  			var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i)
  2029  			if z == uintptr(0) {
  2030  				z = ts + 2849
  2031  			}
  2032  			len = int32(libc.Xstrlen(tls, z))
  2033  			if g.bVerify != 0 {
  2034  				var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i)
  2035  
  2036  				*(*uint8)(unsafe.Pointer(bp)) = uint8('\n')
  2037  				*(*uint8)(unsafe.Pointer(bp + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 2853 + uintptr(eType))))
  2038  				if g.nResByte != 0 {
  2039  					HashUpdate(tls, bp, uint32(2))
  2040  				} else {
  2041  					HashUpdate(tls, bp+uintptr(1), uint32(1))
  2042  				}
  2043  				if eType == SQLITE_FLOAT {
  2044  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += uint64(2)
  2045  				} else if eType == SQLITE_BLOB {
  2046  					var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i)
  2047  					var iBlob int32
  2048  
  2049  					var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i)
  2050  					for iBlob = 0; iBlob < nBlob; iBlob++ {
  2051  						*(*uint8)(unsafe.Pointer(bp + 2)) = uint8(*(*int8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4))))
  2052  						*(*uint8)(unsafe.Pointer(bp + 2 + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15))))
  2053  						HashUpdate(tls, bp+2, uint32(2))
  2054  					}
  2055  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(nBlob*2 + 2)
  2056  				} else {
  2057  					HashUpdate(tls, z, uint32(len))
  2058  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(len + 2)
  2059  				}
  2060  			}
  2061  			if uint64(g.nResult+len) < uint64(unsafe.Sizeof([3000]int8{}))-uint64(2) {
  2062  				if g.nResult > 0 {
  2063  					*(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 124 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = int8(' ')
  2064  				}
  2065  				libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+124+uintptr(g.nResult), z, uint64(len+1))
  2066  				*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 120)) += len
  2067  			}
  2068  		}
  2069  	}
  2070  	if g.bReprepare != 0 {
  2071  		sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+8, uintptr(0))
  2072  		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2073  		g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 8))
  2074  	} else {
  2075  		sqlite3.Xsqlite3_reset(tls, g.pStmt)
  2076  	}
  2077  	speedtest1_shrink_memory(tls)
  2078  }
  2079  
  2080  func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) {
  2081  	bp := tls.Alloc(16)
  2082  	defer tls.Free(16)
  2083  
  2084  	var n int32 = int32(libc.Xstrlen(tls, zSql))
  2085  	for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(libc.X_ctype_tab_ + uintptr(1)*2 + uintptr(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&X_CTYPE_S != 0) {
  2086  		n--
  2087  	}
  2088  	libc.Xfprintf(tls, uintptr(unsafe.Pointer(&libc.X__sF))+2*152, ts+2769, libc.VaList(bp, n, zSql))
  2089  }
  2090  
  2091  func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) {
  2092  	sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls)))
  2093  }
  2094  
  2095  func est_square_root(tls *libc.TLS, x int32) int32 {
  2096  	var y0 int32 = x / 2
  2097  	var y1 int32
  2098  	var n int32
  2099  	for n = 0; y0 > 0 && n < 10; n++ {
  2100  		y1 = (y0 + x/y0) / 2
  2101  		if y1 == y0 {
  2102  			break
  2103  		}
  2104  		y0 = y1
  2105  	}
  2106  	return y0
  2107  }
  2108  
  2109  func testset_main(tls *libc.TLS) {
  2110  	bp := tls.Alloc(2568)
  2111  	defer tls.Free(2568)
  2112  
  2113  	var i int32
  2114  	var n int32
  2115  	var sz int32
  2116  	var maxb int32
  2117  	var x1 uint32 = uint32(0)
  2118  	var x2 uint32 = uint32(0)
  2119  	var len int32 = 0
  2120  
  2121  	sz = libc.AssignInt32(&n, g.szTest*500)
  2122  	*(*int8)(unsafe.Pointer(bp + 568)) = int8(0)
  2123  	maxb = int32(roundup_allones(tls, uint32(sz)))
  2124  	speedtest1_begin_test(tls, 100, ts+2877, libc.VaList(bp, n))
  2125  	speedtest1_exec(tls, ts+2913, 0)
  2126  	speedtest1_exec(tls, ts+2919,
  2127  		libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN))
  2128  	speedtest1_prepare(tls, ts+2977, libc.VaList(bp+40, n))
  2129  	for i = 1; i <= n; i++ {
  2130  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2131  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
  2132  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
  2133  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2134  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2135  		speedtest1_run(tls)
  2136  	}
  2137  	speedtest1_exec(tls, ts+3023, 0)
  2138  	speedtest1_end_test(tls)
  2139  
  2140  	n = sz
  2141  	speedtest1_begin_test(tls, 110, ts+3030, libc.VaList(bp+48, n))
  2142  	speedtest1_exec(tls, ts+2913, 0)
  2143  	speedtest1_exec(tls,
  2144  		ts+3067,
  2145  		libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2146  	speedtest1_prepare(tls, ts+3130, libc.VaList(bp+104, n))
  2147  	for i = 1; i <= n; i++ {
  2148  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2149  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
  2150  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i)
  2151  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1))
  2152  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2153  		speedtest1_run(tls)
  2154  	}
  2155  	speedtest1_exec(tls, ts+3023, 0)
  2156  	speedtest1_end_test(tls)
  2157  
  2158  	n = sz
  2159  	speedtest1_begin_test(tls, 120, ts+3175, libc.VaList(bp+112, n))
  2160  	speedtest1_exec(tls, ts+2913, 0)
  2161  	speedtest1_exec(tls,
  2162  		ts+3214,
  2163  		libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2164  	speedtest1_prepare(tls, ts+3277, libc.VaList(bp+168, n))
  2165  	for i = 1; i <= n; i++ {
  2166  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2167  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
  2168  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2169  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
  2170  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2171  		speedtest1_run(tls)
  2172  	}
  2173  	speedtest1_exec(tls, ts+3023, 0)
  2174  	speedtest1_end_test(tls)
  2175  
  2176  	n = 25
  2177  	speedtest1_begin_test(tls, 130, ts+3322, libc.VaList(bp+176, n))
  2178  	speedtest1_exec(tls, ts+2913, 0)
  2179  	speedtest1_prepare(tls,
  2180  		ts+3361, libc.VaList(bp+184, n))
  2181  	for i = 1; i <= n; i++ {
  2182  		if (i-1)%g.nRepeat == 0 {
  2183  			x1 = speedtest1_random(tls) % uint32(maxb)
  2184  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2185  		}
  2186  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2187  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2188  		speedtest1_run(tls)
  2189  	}
  2190  	speedtest1_exec(tls, ts+3023, 0)
  2191  	speedtest1_end_test(tls)
  2192  
  2193  	n = 10
  2194  	speedtest1_begin_test(tls, 140, ts+3466, libc.VaList(bp+192, n))
  2195  	speedtest1_exec(tls, ts+2913, 0)
  2196  	speedtest1_prepare(tls,
  2197  		ts+3494, libc.VaList(bp+200, n))
  2198  	for i = 1; i <= n; i++ {
  2199  		if (i-1)%g.nRepeat == 0 {
  2200  			x1 = speedtest1_random(tls) % uint32(maxb)
  2201  			*(*int8)(unsafe.Pointer(bp + 568)) = int8('%')
  2202  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2)))
  2203  			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%')
  2204  			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0)
  2205  		}
  2206  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2207  		speedtest1_run(tls)
  2208  	}
  2209  	speedtest1_exec(tls, ts+3023, 0)
  2210  	speedtest1_end_test(tls)
  2211  
  2212  	n = 10
  2213  	speedtest1_begin_test(tls, 142, ts+3589, libc.VaList(bp+208, n))
  2214  	speedtest1_exec(tls, ts+2913, 0)
  2215  	speedtest1_prepare(tls,
  2216  		ts+3622, libc.VaList(bp+216, n))
  2217  	for i = 1; i <= n; i++ {
  2218  		if (i-1)%g.nRepeat == 0 {
  2219  			x1 = speedtest1_random(tls) % uint32(maxb)
  2220  			*(*int8)(unsafe.Pointer(bp + 568)) = int8('%')
  2221  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2)))
  2222  			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%')
  2223  			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0)
  2224  		}
  2225  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2226  		speedtest1_run(tls)
  2227  	}
  2228  	speedtest1_exec(tls, ts+3023, 0)
  2229  	speedtest1_end_test(tls)
  2230  
  2231  	n = 10
  2232  	speedtest1_begin_test(tls, 145, ts+3686, libc.VaList(bp+224, n))
  2233  	speedtest1_exec(tls, ts+2913, 0)
  2234  	speedtest1_prepare(tls,
  2235  		ts+3729, libc.VaList(bp+232, n))
  2236  	for i = 1; i <= n; i++ {
  2237  		if (i-1)%g.nRepeat == 0 {
  2238  			x1 = speedtest1_random(tls) % uint32(maxb)
  2239  			*(*int8)(unsafe.Pointer(bp + 568)) = int8('%')
  2240  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2)))
  2241  			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%')
  2242  			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0)
  2243  		}
  2244  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2245  		speedtest1_run(tls)
  2246  	}
  2247  	speedtest1_exec(tls, ts+3023, 0)
  2248  	speedtest1_end_test(tls)
  2249  
  2250  	speedtest1_begin_test(tls, 150, ts+3802, 0)
  2251  	speedtest1_exec(tls, ts+3826, 0)
  2252  	speedtest1_exec(tls, ts+3833, 0)
  2253  	speedtest1_exec(tls, ts+3867, 0)
  2254  	speedtest1_exec(tls, ts+3894, 0)
  2255  	speedtest1_exec(tls, ts+3928, 0)
  2256  	speedtest1_exec(tls, ts+3960, 0)
  2257  	speedtest1_exec(tls, ts+3990, 0)
  2258  	speedtest1_end_test(tls)
  2259  
  2260  	n = sz / 5
  2261  	speedtest1_begin_test(tls, 160, ts+3998, libc.VaList(bp+240, n))
  2262  	speedtest1_exec(tls, ts+2913, 0)
  2263  	speedtest1_prepare(tls,
  2264  		ts+4035, libc.VaList(bp+248, n))
  2265  	for i = 1; i <= n; i++ {
  2266  		if (i-1)%g.nRepeat == 0 {
  2267  			x1 = speedtest1_random(tls) % uint32(maxb)
  2268  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2269  		}
  2270  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2271  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2272  		speedtest1_run(tls)
  2273  	}
  2274  	speedtest1_exec(tls, ts+3023, 0)
  2275  	speedtest1_end_test(tls)
  2276  
  2277  	n = sz / 5
  2278  	speedtest1_begin_test(tls, 161, ts+4140, libc.VaList(bp+256, n))
  2279  	speedtest1_exec(tls, ts+2913, 0)
  2280  	speedtest1_prepare(tls,
  2281  		ts+4172, libc.VaList(bp+264, n))
  2282  	for i = 1; i <= n; i++ {
  2283  		if (i-1)%g.nRepeat == 0 {
  2284  			x1 = speedtest1_random(tls) % uint32(maxb)
  2285  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2286  		}
  2287  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2288  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2289  		speedtest1_run(tls)
  2290  	}
  2291  	speedtest1_exec(tls, ts+3023, 0)
  2292  	speedtest1_end_test(tls)
  2293  
  2294  	n = sz / 5
  2295  	speedtest1_begin_test(tls, 170, ts+4277, libc.VaList(bp+272, n))
  2296  	speedtest1_exec(tls, ts+2913, 0)
  2297  	speedtest1_prepare(tls,
  2298  		ts+4311, libc.VaList(bp+280, n))
  2299  	for i = 1; i <= n; i++ {
  2300  		if (i-1)%g.nRepeat == 0 {
  2301  			x1 = swizzle(tls, uint32(i), uint32(maxb))
  2302  			len = speedtest1_numbername(tls, x1, bp+568, int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(1)))
  2303  		}
  2304  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0))
  2305  		speedtest1_run(tls)
  2306  	}
  2307  	speedtest1_exec(tls, ts+3023, 0)
  2308  	speedtest1_end_test(tls)
  2309  
  2310  	n = sz
  2311  	speedtest1_begin_test(tls, 180, ts+4423, libc.VaList(bp+288, n))
  2312  	speedtest1_exec(tls, ts+2913, 0)
  2313  	speedtest1_exec(tls,
  2314  		ts+4453,
  2315  		libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2316  	speedtest1_exec(tls, ts+4524, 0)
  2317  	speedtest1_exec(tls, ts+4550, 0)
  2318  	speedtest1_exec(tls, ts+4576, 0)
  2319  	speedtest1_exec(tls, ts+3023, 0)
  2320  	speedtest1_end_test(tls)
  2321  
  2322  	n = sz
  2323  	speedtest1_begin_test(tls, 190, ts+4608, libc.VaList(bp+344, n))
  2324  	speedtest1_exec(tls, ts+4636, 0)
  2325  	speedtest1_exec(tls, ts+4652, 0)
  2326  	speedtest1_end_test(tls)
  2327  
  2328  	speedtest1_begin_test(tls, 200, ts+4685, 0)
  2329  	speedtest1_exec(tls, ts+4685, 0)
  2330  	speedtest1_end_test(tls)
  2331  
  2332  	speedtest1_begin_test(tls, 210, ts+4692, 0)
  2333  	speedtest1_exec(tls, ts+4726, 0)
  2334  	speedtest1_exec(tls, ts+4770, 0)
  2335  	speedtest1_end_test(tls)
  2336  
  2337  	n = sz / 5
  2338  	speedtest1_begin_test(tls, 230, ts+4792, libc.VaList(bp+352, n))
  2339  	speedtest1_exec(tls, ts+2913, 0)
  2340  	speedtest1_prepare(tls,
  2341  		ts+4829, libc.VaList(bp+360, n))
  2342  	for i = 1; i <= n; i++ {
  2343  		x1 = speedtest1_random(tls) % uint32(maxb)
  2344  		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2345  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2346  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2347  		speedtest1_run(tls)
  2348  	}
  2349  	speedtest1_exec(tls, ts+3023, 0)
  2350  	speedtest1_end_test(tls)
  2351  
  2352  	n = sz
  2353  	speedtest1_begin_test(tls, 240, ts+4888, libc.VaList(bp+368, n))
  2354  	speedtest1_exec(tls, ts+2913, 0)
  2355  	speedtest1_prepare(tls,
  2356  		ts+4918, libc.VaList(bp+376, n))
  2357  	for i = 1; i <= n; i++ {
  2358  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2359  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2360  		speedtest1_run(tls)
  2361  	}
  2362  	speedtest1_exec(tls, ts+3023, 0)
  2363  	speedtest1_end_test(tls)
  2364  
  2365  	speedtest1_begin_test(tls, 250, ts+4962, libc.VaList(bp+384, sz))
  2366  	speedtest1_exec(tls, ts+5003, 0)
  2367  	speedtest1_end_test(tls)
  2368  
  2369  	speedtest1_begin_test(tls, 260, ts+5023, 0)
  2370  	speedtest1_exec(tls, ts+4770, 0)
  2371  	speedtest1_end_test(tls)
  2372  
  2373  	n = sz / 5
  2374  	speedtest1_begin_test(tls, 270, ts+5056, libc.VaList(bp+392, n))
  2375  	speedtest1_exec(tls, ts+2913, 0)
  2376  	speedtest1_prepare(tls,
  2377  		ts+5093, libc.VaList(bp+400, n))
  2378  	for i = 1; i <= n; i++ {
  2379  		x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1)
  2380  		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2381  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2382  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2383  		speedtest1_run(tls)
  2384  	}
  2385  	speedtest1_exec(tls, ts+3023, 0)
  2386  	speedtest1_end_test(tls)
  2387  
  2388  	n = sz
  2389  	speedtest1_begin_test(tls, 280, ts+5147, libc.VaList(bp+408, n))
  2390  	speedtest1_exec(tls, ts+2913, 0)
  2391  	speedtest1_prepare(tls,
  2392  		ts+5177, libc.VaList(bp+416, n))
  2393  	for i = 1; i <= n; i++ {
  2394  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2395  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2396  		speedtest1_run(tls)
  2397  	}
  2398  	speedtest1_exec(tls, ts+3023, 0)
  2399  	speedtest1_end_test(tls)
  2400  
  2401  	speedtest1_begin_test(tls, 290, ts+5216, libc.VaList(bp+424, sz))
  2402  	speedtest1_exec(tls, ts+5255, 0)
  2403  	speedtest1_exec(tls, ts+5299, 0)
  2404  	speedtest1_end_test(tls)
  2405  
  2406  	speedtest1_begin_test(tls, 300, ts+5343, libc.VaList(bp+432, sz))
  2407  	speedtest1_exec(tls, ts+4636, 0)
  2408  	speedtest1_exec(tls,
  2409  		ts+5384, 0)
  2410  	speedtest1_exec(tls,
  2411  		ts+5449, 0)
  2412  	speedtest1_end_test(tls)
  2413  
  2414  	n = sz / 5
  2415  	speedtest1_begin_test(tls, 310, ts+5514, libc.VaList(bp+440, n))
  2416  	speedtest1_exec(tls, ts+2913, 0)
  2417  	speedtest1_prepare(tls,
  2418  		ts+5533, 0)
  2419  	for i = 1; i <= n; i++ {
  2420  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2421  		x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4)
  2422  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2423  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2424  		speedtest1_run(tls)
  2425  	}
  2426  	speedtest1_exec(tls, ts+3023, 0)
  2427  	speedtest1_end_test(tls)
  2428  
  2429  	speedtest1_begin_test(tls, 320, ts+5646, libc.VaList(bp+448, n))
  2430  	speedtest1_prepare(tls,
  2431  		ts+5669, 0)
  2432  	sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50)
  2433  	speedtest1_run(tls)
  2434  	speedtest1_end_test(tls)
  2435  
  2436  	sz = libc.AssignInt32(&n, g.szTest*700)
  2437  	*(*int8)(unsafe.Pointer(bp + 568)) = int8(0)
  2438  	maxb = int32(roundup_allones(tls, uint32(sz/3)))
  2439  	speedtest1_begin_test(tls, 400, ts+5787, libc.VaList(bp+456, n))
  2440  	speedtest1_exec(tls, ts+2913, 0)
  2441  	speedtest1_exec(tls, ts+5812,
  2442  		libc.VaList(bp+464, isTemp(tls, 9), g.zNN))
  2443  	speedtest1_prepare(tls, ts+5860, libc.VaList(bp+480, n))
  2444  	for i = 1; i <= n; i++ {
  2445  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2446  		speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]int8{})))
  2447  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
  2448  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0))
  2449  		speedtest1_run(tls)
  2450  	}
  2451  	speedtest1_exec(tls, ts+3023, 0)
  2452  	speedtest1_end_test(tls)
  2453  	speedtest1_begin_test(tls, 410, ts+5904, libc.VaList(bp+488, n))
  2454  	speedtest1_prepare(tls, ts+5925, libc.VaList(bp+496, n))
  2455  	for i = 1; i <= n; i++ {
  2456  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2457  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
  2458  		speedtest1_run(tls)
  2459  	}
  2460  	speedtest1_end_test(tls)
  2461  
  2462  	sz = libc.AssignInt32(&n, g.szTest*700)
  2463  	*(*int8)(unsafe.Pointer(bp + 568)) = int8(0)
  2464  	maxb = int32(roundup_allones(tls, uint32(sz/3)))
  2465  	speedtest1_begin_test(tls, 500, ts+5967, libc.VaList(bp+504, n))
  2466  	speedtest1_exec(tls, ts+2913, 0)
  2467  	speedtest1_exec(tls, ts+5989,
  2468  		libc.VaList(bp+512, isTemp(tls, 9), g.zNN,
  2469  			func() uintptr {
  2470  				if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 {
  2471  					return ts + 6036
  2472  				}
  2473  				return ts + 2269
  2474  			}()))
  2475  	speedtest1_prepare(tls, ts+6050, libc.VaList(bp+536, n))
  2476  	for i = 1; i <= n; i++ {
  2477  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2478  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
  2479  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2480  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
  2481  		speedtest1_run(tls)
  2482  	}
  2483  	speedtest1_exec(tls, ts+3023, 0)
  2484  	speedtest1_end_test(tls)
  2485  	speedtest1_begin_test(tls, 510, ts+6094, libc.VaList(bp+544, n))
  2486  	speedtest1_prepare(tls, ts+6118, libc.VaList(bp+552, n))
  2487  	for i = 1; i <= n; i++ {
  2488  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2489  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
  2490  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
  2491  		speedtest1_run(tls)
  2492  	}
  2493  	speedtest1_end_test(tls)
  2494  	speedtest1_begin_test(tls, 520, ts+6160, libc.VaList(bp+560, n))
  2495  	speedtest1_exec(tls, ts+6179, 0)
  2496  	speedtest1_exec(tls, ts+6206, 0)
  2497  	speedtest1_end_test(tls)
  2498  
  2499  	speedtest1_begin_test(tls, 980, ts+6233, 0)
  2500  	speedtest1_exec(tls, ts+6233, 0)
  2501  	speedtest1_end_test(tls)
  2502  
  2503  	speedtest1_begin_test(tls, 990, ts+6256, 0)
  2504  	speedtest1_exec(tls, ts+6256, 0)
  2505  	speedtest1_end_test(tls)
  2506  }
  2507  
  2508  func testset_cte(tls *libc.TLS) {
  2509  	bp := tls.Alloc(32)
  2510  	defer tls.Free(32)
  2511  
  2512  	var zPuz uintptr
  2513  	var rSpacing float64
  2514  	var nElem int32
  2515  
  2516  	if g.szTest < 25 {
  2517  		zPuz = azPuzzle[0]
  2518  	} else if g.szTest < 70 {
  2519  		zPuz = azPuzzle[1]
  2520  	} else {
  2521  		zPuz = azPuzzle[2]
  2522  	}
  2523  	speedtest1_begin_test(tls, 100, ts+6264, 0)
  2524  	speedtest1_prepare(tls,
  2525  		ts+6295, 0)
  2526  	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
  2527  	speedtest1_run(tls)
  2528  	speedtest1_end_test(tls)
  2529  
  2530  	speedtest1_begin_test(tls, 200, ts+7099, 0)
  2531  	speedtest1_prepare(tls,
  2532  		ts+7127, 0)
  2533  	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
  2534  	speedtest1_run(tls)
  2535  	speedtest1_end_test(tls)
  2536  
  2537  	rSpacing = 5.0 / float64(g.szTest)
  2538  	speedtest1_begin_test(tls, 300, ts+7939, libc.VaList(bp, rSpacing))
  2539  	speedtest1_prepare(tls,
  2540  		ts+7970, 0)
  2541  	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05)
  2542  	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing)
  2543  	speedtest1_run(tls)
  2544  	speedtest1_end_test(tls)
  2545  
  2546  	nElem = 10000 * g.szTest
  2547  	speedtest1_begin_test(tls, 400, ts+8566, libc.VaList(bp+8, nElem))
  2548  	speedtest1_prepare(tls,
  2549  		ts+8603,
  2550  		libc.VaList(bp+16, nElem, nElem))
  2551  	speedtest1_run(tls)
  2552  	speedtest1_end_test(tls)
  2553  }
  2554  
  2555  var azPuzzle = [3]uintptr{
  2556  	ts + 8834,
  2557  	ts + 8916,
  2558  	ts + 8998,
  2559  }
  2560  
  2561  func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) {
  2562  	bp := tls.Alloc(24)
  2563  	defer tls.Free(24)
  2564  
  2565  	var x int32 = int32(speedtest1_random(tls))
  2566  	var y int32 = int32(speedtest1_random(tls))
  2567  	var z int32
  2568  	z = y % 10
  2569  	if z < 0 {
  2570  		z = -z
  2571  	}
  2572  	y = y / 10
  2573  	sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9080, libc.VaList(bp, y, z, x%200))
  2574  }
  2575  
  2576  func testset_fp(tls *libc.TLS) {
  2577  	bp := tls.Alloc(272)
  2578  	defer tls.Free(272)
  2579  
  2580  	var n int32
  2581  	var i int32
  2582  
  2583  	n = g.szTest * 5000
  2584  	speedtest1_begin_test(tls, 100, ts+9089, libc.VaList(bp, n*2))
  2585  	speedtest1_exec(tls, ts+2913, 0)
  2586  	speedtest1_exec(tls, ts+9120,
  2587  		libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN))
  2588  	speedtest1_prepare(tls, ts+9161, libc.VaList(bp+32, n))
  2589  	for i = 1; i <= n; i++ {
  2590  		speedtest1_random_ascii_fp(tls, bp+72)
  2591  		speedtest1_random_ascii_fp(tls, bp+172)
  2592  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2593  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2594  		speedtest1_run(tls)
  2595  	}
  2596  	speedtest1_exec(tls, ts+3023, 0)
  2597  	speedtest1_end_test(tls)
  2598  
  2599  	n = g.szTest/25 + 2
  2600  	speedtest1_begin_test(tls, 110, ts+9203, libc.VaList(bp+40, n))
  2601  	speedtest1_prepare(tls, ts+9220, 0)
  2602  	for i = 1; i <= n; i++ {
  2603  		speedtest1_random_ascii_fp(tls, bp+72)
  2604  		speedtest1_random_ascii_fp(tls, bp+172)
  2605  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2606  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2607  		speedtest1_run(tls)
  2608  	}
  2609  	speedtest1_end_test(tls)
  2610  
  2611  	speedtest1_begin_test(tls, 120, ts+9268, 0)
  2612  	speedtest1_exec(tls, ts+3826, 0)
  2613  	speedtest1_exec(tls, ts+9293, 0)
  2614  	speedtest1_exec(tls, ts+9320, 0)
  2615  	speedtest1_exec(tls, ts+9347, 0)
  2616  	speedtest1_exec(tls, ts+3990, 0)
  2617  	speedtest1_end_test(tls)
  2618  
  2619  	n = g.szTest/3 + 2
  2620  	speedtest1_begin_test(tls, 130, ts+9377, libc.VaList(bp+48, n))
  2621  	speedtest1_prepare(tls, ts+9220, 0)
  2622  	for i = 1; i <= n; i++ {
  2623  		speedtest1_random_ascii_fp(tls, bp+72)
  2624  		speedtest1_random_ascii_fp(tls, bp+172)
  2625  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2626  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2627  		speedtest1_run(tls)
  2628  	}
  2629  	speedtest1_end_test(tls)
  2630  
  2631  	n = g.szTest * 5000
  2632  	speedtest1_begin_test(tls, 140, ts+9402, libc.VaList(bp+56, n))
  2633  	speedtest1_exec(tls, ts+9422, 0)
  2634  	speedtest1_end_test(tls)
  2635  
  2636  	speedtest1_begin_test(tls, 150, ts+9465, libc.VaList(bp+64, n*4))
  2637  	speedtest1_exec(tls,
  2638  		ts+9483, 0)
  2639  	speedtest1_end_test(tls)
  2640  }
  2641  
  2642  func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) {
  2643  	var d uint32
  2644  	var x0 uint32
  2645  	var x1 uint32
  2646  	var span uint32
  2647  
  2648  	span = mx/uint32(100) + uint32(1)
  2649  	if speedtest1_random(tls)%uint32(3) == uint32(0) {
  2650  		span = span * uint32(p1)
  2651  	}
  2652  	if speedtest1_random(tls)%uint32(p2) == uint32(0) {
  2653  		span = mx / uint32(2)
  2654  	}
  2655  	d = speedtest1_random(tls)%span + uint32(1)
  2656  	x0 = speedtest1_random(tls)%(mx-d) + uint32(1)
  2657  	x1 = x0 + d
  2658  	*(*uint32)(unsafe.Pointer(pX0)) = x0
  2659  	*(*uint32)(unsafe.Pointer(pX1)) = x1
  2660  }
  2661  
  2662  func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 {
  2663  	*(*int32)(unsafe.Pointer(pRes)) = libc.Bool32(*(*float64)(unsafe.Pointer(aCoord + 3*8)) >= *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).aParam)) && *(*float64)(unsafe.Pointer(aCoord + 2*8)) <= *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).aParam + 1*8)))
  2664  	return SQLITE_OK
  2665  }
  2666  
  2667  func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) {
  2668  	bp := tls.Alloc(224)
  2669  	defer tls.Free(224)
  2670  
  2671  	var i uint32
  2672  	var n uint32
  2673  	var mxCoord uint32
  2674  
  2675  	var iStep uint32
  2676  	var mxRowid uint32
  2677  	var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(g.szTest)*uint64(500)))
  2678  
  2679  	mxCoord = uint32(15000)
  2680  	mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500))
  2681  	speedtest1_begin_test(tls, 100, ts+9578, libc.VaList(bp, n))
  2682  	speedtest1_exec(tls, ts+2913, 0)
  2683  	speedtest1_exec(tls, ts+9604, 0)
  2684  	speedtest1_prepare(tls,
  2685  		ts+9663, 0)
  2686  	for i = uint32(1); i <= n; i++ {
  2687  		twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204)
  2688  		twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212)
  2689  		twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220)
  2690  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
  2691  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200))))
  2692  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204))))
  2693  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208))))
  2694  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212))))
  2695  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216))))
  2696  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220))))
  2697  		speedtest1_run(tls)
  2698  	}
  2699  	speedtest1_exec(tls, ts+3023, 0)
  2700  	speedtest1_end_test(tls)
  2701  
  2702  	speedtest1_begin_test(tls, 101, ts+9729, 0)
  2703  	speedtest1_exec(tls, ts+9764, 0)
  2704  	speedtest1_exec(tls, ts+9822, 0)
  2705  	speedtest1_end_test(tls)
  2706  
  2707  	n = uint32(g.szTest * 200)
  2708  	speedtest1_begin_test(tls, 110, ts+9855, libc.VaList(bp+8, n))
  2709  	speedtest1_prepare(tls, ts+9898, 0)
  2710  	iStep = mxCoord / n
  2711  	for i = uint32(0); i < n; i++ {
  2712  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2713  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2714  		speedtest1_run(tls)
  2715  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2716  	}
  2717  	speedtest1_end_test(tls)
  2718  
  2719  	if g.bVerify != 0 {
  2720  		n = uint32(g.szTest * 200)
  2721  		speedtest1_begin_test(tls, 111, ts+9947, 0)
  2722  		speedtest1_prepare(tls, ts+9994, 0)
  2723  		iStep = mxCoord / n
  2724  		for i = uint32(0); i < n; i++ {
  2725  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2726  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2727  			speedtest1_run(tls)
  2728  			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2729  				fatal_error(tls, ts+10042,
  2730  					libc.VaList(bp+16, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)))
  2731  			}
  2732  		}
  2733  		speedtest1_end_test(tls)
  2734  	}
  2735  
  2736  	n = uint32(g.szTest * 200)
  2737  	speedtest1_begin_test(tls, 120, ts+10084, libc.VaList(bp+56, n))
  2738  	speedtest1_prepare(tls, ts+10125, 0)
  2739  	iStep = mxCoord / n
  2740  	for i = uint32(0); i < n; i++ {
  2741  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2742  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2743  		speedtest1_run(tls)
  2744  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2745  	}
  2746  	speedtest1_end_test(tls)
  2747  
  2748  	if g.bVerify != 0 {
  2749  		n = uint32(g.szTest * 200)
  2750  		speedtest1_begin_test(tls, 121, ts+10174, 0)
  2751  		speedtest1_prepare(tls, ts+10219, 0)
  2752  		iStep = mxCoord / n
  2753  		for i = uint32(0); i < n; i++ {
  2754  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2755  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2756  			speedtest1_run(tls)
  2757  			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2758  				fatal_error(tls, ts+10042,
  2759  					libc.VaList(bp+64, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)))
  2760  			}
  2761  		}
  2762  		speedtest1_end_test(tls)
  2763  	}
  2764  
  2765  	n = uint32(g.szTest * 200)
  2766  	speedtest1_begin_test(tls, 125, ts+10267, libc.VaList(bp+104, n))
  2767  	sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10303, *(*uintptr)(unsafe.Pointer(&struct {
  2768  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2769  	}{xsliceGeometryCallback})), uintptr(0))
  2770  	speedtest1_prepare(tls, ts+10310, 0)
  2771  	iStep = mxCoord / n
  2772  	for i = uint32(0); i < n; i++ {
  2773  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2774  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2775  		speedtest1_run(tls)
  2776  		if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2777  			fatal_error(tls, ts+10042,
  2778  				libc.VaList(bp+112, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)))
  2779  		}
  2780  	}
  2781  	speedtest1_end_test(tls)
  2782  
  2783  	n = uint32(g.szTest * 400)
  2784  	speedtest1_begin_test(tls, 130, ts+10364, libc.VaList(bp+152, n))
  2785  	speedtest1_prepare(tls,
  2786  		ts+10407, 0)
  2787  	iStep = mxCoord / n
  2788  	for i = uint32(0); i < n; i++ {
  2789  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2790  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2791  		speedtest1_run(tls)
  2792  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2793  	}
  2794  	speedtest1_end_test(tls)
  2795  
  2796  	n = uint32(g.szTest * 500)
  2797  	speedtest1_begin_test(tls, 140, ts+10500, libc.VaList(bp+160, n))
  2798  	speedtest1_prepare(tls, ts+10517, 0)
  2799  	for i = uint32(1); i <= n; i++ {
  2800  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
  2801  		speedtest1_run(tls)
  2802  	}
  2803  	speedtest1_end_test(tls)
  2804  
  2805  	n = uint32(g.szTest * 50)
  2806  	speedtest1_begin_test(tls, 150, ts+10547, libc.VaList(bp+168, n))
  2807  	speedtest1_prepare(tls, ts+10570, 0)
  2808  	for i = uint32(1); i <= n; i++ {
  2809  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1)))
  2810  		speedtest1_run(tls)
  2811  	}
  2812  	speedtest1_end_test(tls)
  2813  
  2814  	n = uint32(g.szTest * 5)
  2815  	speedtest1_begin_test(tls, 155, ts+10618, libc.VaList(bp+176, n))
  2816  	speedtest1_prepare(tls,
  2817  		ts+10659, 0)
  2818  	iStep = mxCoord / n
  2819  	for i = uint32(0); i < n; i++ {
  2820  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2821  		speedtest1_run(tls)
  2822  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2823  	}
  2824  	speedtest1_end_test(tls)
  2825  
  2826  	n = uint32(g.szTest * 50)
  2827  	speedtest1_begin_test(tls, 160, ts+10721, libc.VaList(bp+184, n))
  2828  	speedtest1_prepare(tls, ts+10744, 0)
  2829  	for i = uint32(1); i <= n; i++ {
  2830  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1)))
  2831  		speedtest1_run(tls)
  2832  	}
  2833  	speedtest1_end_test(tls)
  2834  
  2835  	n = uint32(g.szTest * 5)
  2836  	speedtest1_begin_test(tls, 165, ts+10772, libc.VaList(bp+192, n))
  2837  	speedtest1_prepare(tls, ts+10813, 0)
  2838  	iStep = mxCoord / n
  2839  	for i = uint32(0); i < n; i++ {
  2840  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2841  		speedtest1_run(tls)
  2842  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2843  	}
  2844  	speedtest1_end_test(tls)
  2845  
  2846  	speedtest1_begin_test(tls, 170, ts+10855, 0)
  2847  	speedtest1_exec(tls, ts+10902, 0)
  2848  	speedtest1_end_test(tls)
  2849  }
  2850  
  2851  func testset_orm(tls *libc.TLS) {
  2852  	bp := tls.Alloc(2016)
  2853  	defer tls.Free(2016)
  2854  
  2855  	var i uint32
  2856  	var j uint32
  2857  	var n uint32
  2858  	var nRow uint32
  2859  	var x1 uint32
  2860  	var len uint32
  2861  
  2862  	nRow = libc.AssignUint32(&n, uint32(g.szTest*250))
  2863  	speedtest1_begin_test(tls, 100, ts+10945, libc.VaList(bp, n))
  2864  	speedtest1_exec(tls,
  2865  		ts+10958, 0)
  2866  	speedtest1_prepare(tls,
  2867  		ts+14858, 0)
  2868  	for i = uint32(0); i < n; i++ {
  2869  		x1 = speedtest1_random(tls)
  2870  		speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]int8{})))
  2871  		len = uint32(int32(libc.Xstrlen(tls, bp+16)))
  2872  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf)))
  2873  		for j = uint32(0); zType[j] != 0; j++ {
  2874  			switch int32(zType[j]) {
  2875  			case 'I':
  2876  				fallthrough
  2877  			case 'T':
  2878  				sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1))
  2879  				break
  2880  			case 'F':
  2881  				sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1))
  2882  				break
  2883  			case 'V':
  2884  				fallthrough
  2885  			case 'B':
  2886  				sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len),
  2887  					uintptr(0), uint8(SQLITE_UTF8))
  2888  				break
  2889  			}
  2890  		}
  2891  		speedtest1_run(tls)
  2892  	}
  2893  	speedtest1_exec(tls, ts+3990, 0)
  2894  	speedtest1_end_test(tls)
  2895  
  2896  	n = uint32(g.szTest * 250)
  2897  	speedtest1_begin_test(tls, 110, ts+18102, libc.VaList(bp+8, n))
  2898  	speedtest1_prepare(tls,
  2899  		ts+18125, 0)
  2900  	for i = uint32(0); i < n; i++ {
  2901  		x1 = speedtest1_random(tls) % nRow
  2902  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2903  		speedtest1_run(tls)
  2904  	}
  2905  	speedtest1_end_test(tls)
  2906  }
  2907  
  2908  var zType = *(*[120]int8)(unsafe.Pointer(ts + 20878))
  2909  
  2910  func testset_trigger(tls *libc.TLS) {
  2911  	bp := tls.Alloc(2032)
  2912  	defer tls.Free(2032)
  2913  
  2914  	var jj int32
  2915  	var ii int32
  2916  
  2917  	var NROW int32 = 500 * g.szTest
  2918  	var NROW2 int32 = 100 * g.szTest
  2919  
  2920  	speedtest1_exec(tls,
  2921  		ts+20998, 0)
  2922  	for jj = 1; jj <= 3; jj++ {
  2923  		speedtest1_prepare(tls, ts+21326, libc.VaList(bp, jj))
  2924  		for ii = 0; ii < NROW; ii++ {
  2925  			var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW))
  2926  			speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]int8{})))
  2927  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1)
  2928  			sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  2929  			speedtest1_run(tls)
  2930  		}
  2931  	}
  2932  	speedtest1_exec(tls,
  2933  		ts+21361, 0)
  2934  
  2935  	speedtest1_begin_test(tls, 100, ts+21444, 0)
  2936  	speedtest1_prepare(tls,
  2937  		ts+21458, 0)
  2938  	speedtest1_run(tls)
  2939  	speedtest1_end_test(tls)
  2940  
  2941  	speedtest1_begin_test(tls, 110, ts+21525, 0)
  2942  	speedtest1_prepare(tls,
  2943  		ts+21539, 0)
  2944  	speedtest1_run(tls)
  2945  	speedtest1_end_test(tls)
  2946  
  2947  	speedtest1_begin_test(tls, 120, ts+21598, 0)
  2948  	for jj = 1; jj <= 3; jj++ {
  2949  		speedtest1_prepare(tls, ts+21612, libc.VaList(bp+8, jj))
  2950  		for ii = 0; ii < NROW2; ii = ii + 3 {
  2951  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  2952  			speedtest1_run(tls)
  2953  		}
  2954  	}
  2955  	speedtest1_end_test(tls)
  2956  
  2957  	speedtest1_begin_test(tls, 130, ts+21646, 0)
  2958  	for jj = 1; jj <= 3; jj++ {
  2959  		speedtest1_prepare(tls, ts+21661, libc.VaList(bp+16, jj))
  2960  		for ii = 0; ii < NROW2; ii = ii + 3 {
  2961  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  2962  			speedtest1_run(tls)
  2963  		}
  2964  	}
  2965  	speedtest1_end_test(tls)
  2966  
  2967  	speedtest1_begin_test(tls, 140, ts+21646, 0)
  2968  	for jj = 1; jj <= 3; jj++ {
  2969  		speedtest1_prepare(tls, ts+21661, libc.VaList(bp+24, jj))
  2970  		for ii = 0; ii < NROW2; ii = ii + 3 {
  2971  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  2972  			speedtest1_run(tls)
  2973  		}
  2974  	}
  2975  	speedtest1_end_test(tls)
  2976  
  2977  	speedtest1_begin_test(tls, 150, ts+21695, 0)
  2978  	speedtest1_prepare(tls,
  2979  		ts+21714, 0)
  2980  	for jj = 0; jj < NROW2; jj++ {
  2981  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3)
  2982  		speedtest1_run(tls)
  2983  	}
  2984  	speedtest1_end_test(tls)
  2985  
  2986  	speedtest1_begin_test(tls, 160, ts+21829, 0)
  2987  	speedtest1_exec(tls, ts+2913, 0)
  2988  	speedtest1_prepare(tls, ts+21850, 0)
  2989  	for jj = 0; jj < NROW2; jj++ {
  2990  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  2991  		speedtest1_run(tls)
  2992  	}
  2993  	speedtest1_exec(tls, ts+3023, 0)
  2994  	speedtest1_end_test(tls)
  2995  
  2996  	speedtest1_exec(tls, ts+21885, 0)
  2997  	speedtest1_begin_test(tls, 170, ts+21933, 0)
  2998  	speedtest1_exec(tls, ts+21955, 0)
  2999  	speedtest1_end_test(tls)
  3000  
  3001  	speedtest1_exec(tls,
  3002  		ts+22000, 0)
  3003  
  3004  	speedtest1_begin_test(tls, 180, ts+22490, 0)
  3005  	speedtest1_prepare(tls, ts+22507, 0)
  3006  	for jj = 0; jj < NROW2; jj++ {
  3007  		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{})))
  3008  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3009  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3010  		speedtest1_run(tls)
  3011  	}
  3012  	speedtest1_end_test(tls)
  3013  
  3014  	speedtest1_begin_test(tls, 190, ts+22543, 0)
  3015  	speedtest1_prepare(tls, ts+22560, 0)
  3016  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3017  		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{})))
  3018  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3019  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3020  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
  3021  		speedtest1_run(tls)
  3022  	}
  3023  	speedtest1_end_test(tls)
  3024  
  3025  	speedtest1_begin_test(tls, 200, ts+22606, 0)
  3026  	speedtest1_prepare(tls, ts+22623, 0)
  3027  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3028  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3029  		speedtest1_run(tls)
  3030  	}
  3031  	speedtest1_end_test(tls)
  3032  	speedtest1_exec(tls, ts+3023, 0)
  3033  
  3034  	speedtest1_exec(tls,
  3035  		ts+22655, 0)
  3036  	speedtest1_begin_test(tls, 210, ts+22760, 0)
  3037  	speedtest1_prepare(tls, ts+22507, 0)
  3038  	for jj = 0; jj < NROW2; jj++ {
  3039  		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{})))
  3040  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3041  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3042  		speedtest1_run(tls)
  3043  	}
  3044  	speedtest1_end_test(tls)
  3045  	speedtest1_begin_test(tls, 210, ts+22779, 0)
  3046  	speedtest1_prepare(tls, ts+22560, 0)
  3047  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3048  		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{})))
  3049  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3050  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3051  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
  3052  		speedtest1_run(tls)
  3053  	}
  3054  	speedtest1_end_test(tls)
  3055  	speedtest1_begin_test(tls, 220, ts+22798, 0)
  3056  	speedtest1_prepare(tls, ts+22623, 0)
  3057  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3058  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3059  		speedtest1_run(tls)
  3060  	}
  3061  	speedtest1_end_test(tls)
  3062  	speedtest1_exec(tls, ts+3023, 0)
  3063  }
  3064  
  3065  func testset_debug1(tls *libc.TLS) {
  3066  	bp := tls.Alloc(2032)
  3067  	defer tls.Free(2032)
  3068  
  3069  	var i uint32
  3070  	var n uint32
  3071  	var x1 uint32
  3072  	var x2 uint32
  3073  
  3074  	n = uint32(g.szTest)
  3075  	for i = uint32(1); i <= n; i++ {
  3076  		x1 = swizzle(tls, i, n)
  3077  		x2 = swizzle(tls, x1, n)
  3078  		speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]int8{})))
  3079  		libc.Xprintf(tls, ts+22817, libc.VaList(bp, i, x1, x2, bp+32))
  3080  	}
  3081  }
  3082  
  3083  func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 {
  3084  	bp := tls.Alloc(8)
  3085  	defer tls.Free(8)
  3086  
  3087  	libc.Xprintf(tls, ts+22833, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal))))
  3088  	return SQLITE_OK
  3089  }
  3090  
  3091  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
  3092  	bp := tls.Alloc(576)
  3093  	defer tls.Free(576)
  3094  
  3095  	var doAutovac int32 = 0
  3096  	var cacheSize int32 = 0
  3097  	var doExclusive int32 = 0
  3098  	var nHeap int32 = 0
  3099  	var mnHeap int32 = 0
  3100  	var doIncrvac int32 = 0
  3101  	var zJMode uintptr = uintptr(0)
  3102  	var zKey uintptr = uintptr(0)
  3103  	var nLook int32 = -1
  3104  	var szLook int32 = 0
  3105  	var noSync int32 = 0
  3106  	var pageSize int32 = 0
  3107  	var nPCache int32 = 0
  3108  	var szPCache int32 = 0
  3109  	var doPCache int32 = 0
  3110  	var showStats int32 = 0
  3111  	var nThread int32 = 0
  3112  	var mmapSize int32 = 0
  3113  	var memDb int32 = 0
  3114  	var zTSet uintptr = ts + 22856
  3115  	var doTrace int32 = 0
  3116  	var zEncoding uintptr = uintptr(0)
  3117  	var zDbName uintptr = uintptr(0)
  3118  
  3119  	var pHeap uintptr = uintptr(0)
  3120  	var pLook uintptr = uintptr(0)
  3121  	var pPCache uintptr = uintptr(0)
  3122  
  3123  	var i int32
  3124  	var rc int32
  3125  
  3126  	libc.Xprintf(tls, ts+22861,
  3127  		libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls)))
  3128  
  3129  	g.zWR = ts + 2269
  3130  	g.zNN = ts + 2269
  3131  	g.zPK = ts + 22896
  3132  	g.szTest = 100
  3133  	g.nRepeat = 1
  3134  	for i = 1; i < argc; i++ {
  3135  		var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
  3136  		if int32(*(*int8)(unsafe.Pointer(z))) == '-' {
  3137  			for __ccgo := true; __ccgo; __ccgo = int32(*(*int8)(unsafe.Pointer(z))) == '-' {
  3138  				z++
  3139  			}
  3140  			if libc.Xstrcmp(tls, z, ts+22903) == 0 {
  3141  				doAutovac = 1
  3142  			} else if libc.Xstrcmp(tls, z, ts+22914) == 0 {
  3143  				if i >= argc-1 {
  3144  					fatal_error(tls, ts+22924, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3145  				}
  3146  				i++
  3147  				cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
  3148  			} else if libc.Xstrcmp(tls, z, ts+22948) == 0 {
  3149  				doExclusive = 1
  3150  			} else if libc.Xstrcmp(tls, z, ts+22958) == 0 {
  3151  				g.doCheckpoint = 1
  3152  			} else if libc.Xstrcmp(tls, z, ts+22969) == 0 {
  3153  				g.bSqlOnly = 1
  3154  				g.bExplain = 1
  3155  			} else if libc.Xstrcmp(tls, z, ts+22977) == 0 {
  3156  				if i >= argc-2 {
  3157  					fatal_error(tls, ts+22982, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3158  				}
  3159  				nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3160  				mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3161  				i = i + 2
  3162  			} else if libc.Xstrcmp(tls, z, ts+23007) == 0 {
  3163  				doIncrvac = 1
  3164  			} else if libc.Xstrcmp(tls, z, ts+23018) == 0 {
  3165  				if i >= argc-1 {
  3166  					fatal_error(tls, ts+22924, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3167  				}
  3168  				zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3169  			} else if libc.Xstrcmp(tls, z, ts+23026) == 0 {
  3170  				if i >= argc-1 {
  3171  					fatal_error(tls, ts+22924, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3172  				}
  3173  				zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3174  			} else if libc.Xstrcmp(tls, z, ts+23030) == 0 {
  3175  				if i >= argc-2 {
  3176  					fatal_error(tls, ts+22982, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3177  				}
  3178  				nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3179  				szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3180  				i = i + 2
  3181  			} else if libc.Xstrcmp(tls, z, ts+23040) == 0 {
  3182  				memDb = 1
  3183  			} else if libc.Xstrcmp(tls, z, ts+23046) == 0 {
  3184  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0)
  3185  			} else if libc.Xstrcmp(tls, z, ts+23058) == 0 {
  3186  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0))
  3187  			} else if libc.Xstrcmp(tls, z, ts+23068) == 0 {
  3188  				if i >= argc-1 {
  3189  					fatal_error(tls, ts+22924, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3190  				}
  3191  				mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3192  			} else if libc.Xstrcmp(tls, z, ts+23073) == 0 {
  3193  				noSync = 1
  3194  			} else if libc.Xstrcmp(tls, z, ts+23080) == 0 {
  3195  				g.zNN = ts + 23088
  3196  			} else if libc.Xstrcmp(tls, z, ts+23097) == 0 {
  3197  				if i >= argc-1 {
  3198  					fatal_error(tls, ts+22924, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3199  				}
  3200  				i++
  3201  				if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23104) == 0 {
  3202  					g.hashFile = uintptr(unsafe.Pointer(&libc.X__sF)) + 1*152
  3203  				} else {
  3204  					g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23106)
  3205  					if g.hashFile == uintptr(0) {
  3206  						fatal_error(tls, ts+23109, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3207  					}
  3208  				}
  3209  			} else if libc.Xstrcmp(tls, z, ts+23139) == 0 {
  3210  				if i >= argc-1 {
  3211  					fatal_error(tls, ts+22924, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3212  				}
  3213  				pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3214  			} else if libc.Xstrcmp(tls, z, ts+23148) == 0 {
  3215  				if i >= argc-2 {
  3216  					fatal_error(tls, ts+22982, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3217  				}
  3218  				nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3219  				szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3220  				doPCache = 1
  3221  				i = i + 2
  3222  			} else if libc.Xstrcmp(tls, z, ts+23155) == 0 {
  3223  				g.zPK = ts + 23166
  3224  			} else if libc.Xstrcmp(tls, z, ts+23178) == 0 {
  3225  				if i >= argc-1 {
  3226  					fatal_error(tls, ts+22982, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3227  				}
  3228  				g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3229  				i = i + 1
  3230  			} else if libc.Xstrcmp(tls, z, ts+23185) == 0 {
  3231  				g.bReprepare = 1
  3232  			} else if libc.Xstrcmp(tls, z, ts+23195) == 0 {
  3233  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0)
  3234  			} else if libc.Xstrcmp(tls, z, ts+23206) == 0 {
  3235  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0)
  3236  			} else if libc.Xstrcmp(tls, z, ts+23219) == 0 {
  3237  				g.bSqlOnly = 1
  3238  			} else if libc.Xstrcmp(tls, z, ts+23227) == 0 {
  3239  				g.bMemShrink = 1
  3240  			} else if libc.Xstrcmp(tls, z, ts+23241) == 0 {
  3241  				if i >= argc-1 {
  3242  					fatal_error(tls, ts+22924, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3243  				}
  3244  				g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3245  			} else if libc.Xstrcmp(tls, z, ts+23246) == 0 {
  3246  				showStats = 1
  3247  			} else if libc.Xstrcmp(tls, z, ts+23252) == 0 {
  3248  				if i >= argc-1 {
  3249  					fatal_error(tls, ts+22924, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3250  				}
  3251  				i++
  3252  				if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) < '0' || int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) > '9' || int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) + 1))) != 0 {
  3253  					fatal_error(tls, ts+23257, 0)
  3254  				}
  3255  				g.eTemp = int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) - '0'
  3256  			} else if libc.Xstrcmp(tls, z, ts+23310) == 0 {
  3257  				if i >= argc-1 {
  3258  					fatal_error(tls, ts+22924, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3259  				}
  3260  				zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3261  			} else if libc.Xstrcmp(tls, z, ts+23318) == 0 {
  3262  				doTrace = 1
  3263  			} else if libc.Xstrcmp(tls, z, ts+23324) == 0 {
  3264  				if i >= argc-1 {
  3265  					fatal_error(tls, ts+22924, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3266  				}
  3267  				nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3268  			} else if libc.Xstrcmp(tls, z, ts+23332) == 0 {
  3269  				zEncoding = ts + 23332
  3270  			} else if libc.Xstrcmp(tls, z, ts+23340) == 0 {
  3271  				zEncoding = ts + 23340
  3272  			} else if libc.Xstrcmp(tls, z, ts+23348) == 0 {
  3273  				g.bVerify = 1
  3274  				HashInit(tls)
  3275  			} else if libc.Xstrcmp(tls, z, ts+23355) == 0 {
  3276  				if i >= argc-1 {
  3277  					fatal_error(tls, ts+22924, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3278  				}
  3279  				g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3280  			} else if libc.Xstrcmp(tls, z, ts+23363) == 0 {
  3281  				if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) {
  3282  				} else if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) {
  3283  					g.zWR = ts + 23392
  3284  				} else {
  3285  					g.zWR = ts + 6036
  3286  				}
  3287  				g.zPK = ts + 23166
  3288  			} else if libc.Xstrcmp(tls, z, ts+23413) == 0 {
  3289  				if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) {
  3290  				} else if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) {
  3291  					g.zWR = ts + 23392
  3292  				} else {
  3293  					g.zWR = ts + 23385
  3294  				}
  3295  			} else if libc.Xstrcmp(tls, z, ts+23420) == 0 || libc.Xstrcmp(tls, z, ts+23425) == 0 {
  3296  				libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv))))
  3297  				libc.Xexit(tls, 0)
  3298  			} else {
  3299  				fatal_error(tls, ts+23427,
  3300  					libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
  3301  			}
  3302  		} else if zDbName == uintptr(0) {
  3303  			zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
  3304  		} else {
  3305  			fatal_error(tls, ts+23468,
  3306  				libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
  3307  		}
  3308  	}
  3309  	if zDbName != uintptr(0) {
  3310  		libc.Xunlink(tls, zDbName)
  3311  	}
  3312  	if nHeap > 0 {
  3313  		pHeap = libc.Xmalloc(tls, uint64(nHeap))
  3314  		if pHeap == uintptr(0) {
  3315  			fatal_error(tls, ts+23511, libc.VaList(bp+192, nHeap))
  3316  		}
  3317  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap))
  3318  		if rc != 0 {
  3319  			fatal_error(tls, ts+23541, libc.VaList(bp+224, rc))
  3320  		}
  3321  	}
  3322  	if doPCache != 0 {
  3323  		if nPCache > 0 && szPCache > 0 {
  3324  			pPCache = libc.Xmalloc(tls, uint64(sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
  3325  			if pPCache == uintptr(0) {
  3326  				fatal_error(tls, ts+23572,
  3327  					libc.VaList(bp+232, sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
  3328  			}
  3329  		}
  3330  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache))
  3331  		if rc != 0 {
  3332  			fatal_error(tls, ts+23606, libc.VaList(bp+264, rc))
  3333  		}
  3334  	}
  3335  	if nLook >= 0 {
  3336  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0))
  3337  	}
  3338  	sqlite3.Xsqlite3_initialize(tls)
  3339  
  3340  	if sqlite3.Xsqlite3_open(tls, func() uintptr {
  3341  		if memDb != 0 {
  3342  			return ts + 23639
  3343  		}
  3344  		return zDbName
  3345  	}(), uintptr(unsafe.Pointer(&g))) != 0 {
  3346  		fatal_error(tls, ts+23648, libc.VaList(bp+288, zDbName))
  3347  	}
  3348  	if nLook > 0 && szLook > 0 {
  3349  		pLook = libc.Xmalloc(tls, uint64(nLook*szLook))
  3350  		rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook))
  3351  		if rc != 0 {
  3352  			fatal_error(tls, ts+23679, libc.VaList(bp+320, rc))
  3353  		}
  3354  	}
  3355  	if g.nReserve > 0 {
  3356  		sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+72)
  3357  	}
  3358  
  3359  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+23715, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
  3360  		f func(*libc.TLS, uintptr, int32, uintptr)
  3361  	}{randomFunc})), uintptr(0), uintptr(0))
  3362  	if doTrace != 0 {
  3363  		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  3364  			f func(*libc.TLS, uintptr, uintptr)
  3365  		}{traceCallback})), uintptr(0))
  3366  	}
  3367  	if memDb > 0 {
  3368  		speedtest1_exec(tls, ts+23722, 0)
  3369  	}
  3370  	if mmapSize > 0 {
  3371  		speedtest1_exec(tls, ts+23747, libc.VaList(bp+328, mmapSize))
  3372  	}
  3373  	speedtest1_exec(tls, ts+23767, libc.VaList(bp+336, nThread))
  3374  	if zKey != 0 {
  3375  		speedtest1_exec(tls, ts+23785, libc.VaList(bp+344, zKey))
  3376  	}
  3377  	if zEncoding != 0 {
  3378  		speedtest1_exec(tls, ts+23802, libc.VaList(bp+352, zEncoding))
  3379  	}
  3380  	if doAutovac != 0 {
  3381  		speedtest1_exec(tls, ts+23821, 0)
  3382  	} else if doIncrvac != 0 {
  3383  		speedtest1_exec(tls, ts+23845, 0)
  3384  	}
  3385  	if pageSize != 0 {
  3386  		speedtest1_exec(tls, ts+23876, libc.VaList(bp+360, pageSize))
  3387  	}
  3388  	if cacheSize != 0 {
  3389  		speedtest1_exec(tls, ts+23896, libc.VaList(bp+368, cacheSize))
  3390  	}
  3391  	if noSync != 0 {
  3392  		speedtest1_exec(tls, ts+23917, 0)
  3393  	}
  3394  	if doExclusive != 0 {
  3395  		speedtest1_exec(tls, ts+23940, 0)
  3396  	}
  3397  	if zJMode != 0 {
  3398  		speedtest1_exec(tls, ts+23970, libc.VaList(bp+376, zJMode))
  3399  	}
  3400  
  3401  	if g.bExplain != 0 {
  3402  		libc.Xprintf(tls, ts+23993, 0)
  3403  	}
  3404  	for __ccgo1 := true; __ccgo1; __ccgo1 = *(*int8)(unsafe.Pointer(zTSet)) != 0 {
  3405  		var zThisTest uintptr = zTSet
  3406  		var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',')
  3407  		if zComma != 0 {
  3408  			*(*int8)(unsafe.Pointer(zComma)) = int8(0)
  3409  			zTSet = zComma + uintptr(1)
  3410  		} else {
  3411  			zTSet = ts + 2269
  3412  		}
  3413  		if g.iTotal > int64(0) || zComma != uintptr(0) {
  3414  			libc.Xprintf(tls, ts+24012, libc.VaList(bp+384, zThisTest))
  3415  		}
  3416  		if libc.Xstrcmp(tls, zThisTest, ts+22856) == 0 {
  3417  			testset_main(tls)
  3418  		} else if libc.Xstrcmp(tls, zThisTest, ts+24039) == 0 {
  3419  			testset_debug1(tls)
  3420  		} else if libc.Xstrcmp(tls, zThisTest, ts+24046) == 0 {
  3421  			testset_orm(tls)
  3422  		} else if libc.Xstrcmp(tls, zThisTest, ts+24050) == 0 {
  3423  			testset_cte(tls)
  3424  		} else if libc.Xstrcmp(tls, zThisTest, ts+24054) == 0 {
  3425  			testset_fp(tls)
  3426  		} else if libc.Xstrcmp(tls, zThisTest, ts+24057) == 0 {
  3427  			testset_trigger(tls)
  3428  		} else if libc.Xstrcmp(tls, zThisTest, ts+24065) == 0 {
  3429  			testset_rtree(tls, 6, 147)
  3430  		} else {
  3431  			fatal_error(tls,
  3432  				ts+24071,
  3433  				libc.VaList(bp+392, zThisTest))
  3434  		}
  3435  		if *(*int8)(unsafe.Pointer(zTSet)) != 0 {
  3436  			var zSql uintptr
  3437  			var zObj uintptr
  3438  			speedtest1_begin_test(tls, 999, ts+24140, 0)
  3439  			for 1 != 0 {
  3440  				zObj = speedtest1_once(tls,
  3441  					ts+24159, 0)
  3442  				if zObj == uintptr(0) {
  3443  					break
  3444  				}
  3445  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+400, zObj))
  3446  				speedtest1_exec(tls, zSql, 0)
  3447  				sqlite3.Xsqlite3_free(tls, zSql)
  3448  				sqlite3.Xsqlite3_free(tls, zObj)
  3449  			}
  3450  			for 1 != 0 {
  3451  				zObj = speedtest1_once(tls,
  3452  					ts+24250, 0)
  3453  				if zObj == uintptr(0) {
  3454  					break
  3455  				}
  3456  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+408, zObj))
  3457  				speedtest1_exec(tls, zSql, 0)
  3458  				sqlite3.Xsqlite3_free(tls, zSql)
  3459  				sqlite3.Xsqlite3_free(tls, zObj)
  3460  			}
  3461  			speedtest1_end_test(tls)
  3462  		}
  3463  	}
  3464  	speedtest1_final(tls)
  3465  
  3466  	if showStats != 0 {
  3467  		sqlite3.Xsqlite3_exec(tls, g.db, ts+24320, *(*uintptr)(unsafe.Pointer(&struct {
  3468  			f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  3469  		}{xCompileOptions})), uintptr(0), uintptr(0))
  3470  	}
  3471  
  3472  	if showStats != 0 {
  3473  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568, bp+572, 0)
  3474  		libc.Xprintf(tls, ts+24343, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3475  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568, bp+572, 0)
  3476  		libc.Xprintf(tls, ts+24388, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572))))
  3477  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568, bp+572, 0)
  3478  		libc.Xprintf(tls, ts+24424, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572))))
  3479  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568, bp+572, 0)
  3480  		libc.Xprintf(tls, ts+24460, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572))))
  3481  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568, bp+572, 0)
  3482  		libc.Xprintf(tls, ts+24496, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568))))
  3483  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568, bp+572, 1)
  3484  		libc.Xprintf(tls, ts+24538, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568))))
  3485  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568, bp+572, 1)
  3486  		libc.Xprintf(tls, ts+24574, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568))))
  3487  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568, bp+572, 1)
  3488  		libc.Xprintf(tls, ts+24610, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568))))
  3489  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568, bp+572, 0)
  3490  		libc.Xprintf(tls, ts+24646, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568))))
  3491  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568, bp+572, 0)
  3492  		libc.Xprintf(tls, ts+24688, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568))))
  3493  	}
  3494  
  3495  	sqlite3.Xsqlite3_close(tls, g.db)
  3496  
  3497  	if showStats != 0 {
  3498  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568, bp+572, 0)
  3499  		libc.Xprintf(tls, ts+24730, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3500  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568, bp+572, 0)
  3501  		libc.Xprintf(tls, ts+24775, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3502  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568, bp+572, 0)
  3503  		libc.Xprintf(tls, ts+24820, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3504  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568, bp+572, 0)
  3505  		libc.Xprintf(tls, ts+24865, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572))))
  3506  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568, bp+572, 0)
  3507  		libc.Xprintf(tls, ts+24907, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572))))
  3508  	}
  3509  
  3510  	libc.Xfree(tls, pLook)
  3511  	libc.Xfree(tls, pPCache)
  3512  	libc.Xfree(tls, pHeap)
  3513  	return 0
  3514  }
  3515  
  3516  var ts1 = "Usage: %s [--options] DATABASE\nOptions:\n  --autovacuum        Enable AUTOVACUUM mode\n  --cachesize N       Set the cache size to N\n  --checkpoint        Run PRAGMA wal_checkpoint after each test case\n  --exclusive         Enable locking_mode=EXCLUSIVE\n  --explain           Like --sqlonly but with added EXPLAIN keywords\n  --heap SZ MIN       Memory allocator uses SZ bytes & min allocation MIN\n  --incrvacuum        Enable incremenatal vacuum mode\n  --journal M         Set the journal_mode to M\n  --key KEY           Set the encryption key to KEY\n  --lookaside N SZ    Configure lookaside for N slots of SZ bytes each\n  --memdb             Use an in-memory database\n  --mmap SZ           MMAP the first SZ bytes of the database file\n  --multithread       Set multithreaded mode\n  --nomemstat         Disable memory statistics\n  --nosync            Set PRAGMA synchronous=OFF\n  --notnull           Add NOT NULL constraints to table columns\n  --output FILE       Store SQL output in FILE\n  --pagesize N        Set the page size to N\n  --pcache N SZ       Configure N pages of pagecache each of size SZ bytes\n  --primarykey        Use PRIMARY KEY instead of UNIQUE where appropriate\n  --repeat N          Repeat each SELECT N times (default: 1)\n  --reprepare         Reprepare each statement upon every invocation\n  --reserve N         Reserve N bytes on each database page\n  --serialized        Set serialized threading mode\n  --singlethread      Set single-threaded mode - disables all mutexing\n  --sqlonly           No-op.  Only show the SQL that would have been run.\n  --shrink-memory     Invoke sqlite3_db_release_memory() frequently.\n  --size N            Relative test size.  Default=100\n  --strict            Use STRICT table where appropriate\n  --stats             Show statistics at the end\n  --temp N            N from 0 to 9.  0: no temp table. 9: all temp tables\n  --testset T         Run test-set T (main, cte, rtree, orm, fp, debug)\n  --trace             Turn on SQL tracing\n  --threads N         Use up to N threads for sorting\n  --utf16be           Set text encoding to UTF-16BE\n  --utf16le           Set text encoding to UTF-16LE\n  --verify            Run additional verification steps.\n  --without-rowid     Use WITHOUT ROWID where appropriate\n\x00 TEMP\x00\x00parameter too large - max 2147483648\x00KiB\x00MiB\x00GiB\x00KB\x00MB\x00GB\x00K\x00M\x00G\x00 billion\x00 million\x00 thousand\x00%s hundred\x00%s\x00zero\x00one\x00two\x00three\x00four\x00five\x00six\x00seven\x00eight\x00nine\x00ten\x00eleven\x00twelve\x00thirteen\x00fourteen\x00fifteen\x00sixteen\x00seventeen\x00eighteen\x00nineteen\x00twenty\x00thirty\x00forty\x00fifty\x00sixty\x00seventy\x00eighty\x00ninety\x00.......................................................................\x00/* %4d - %s%.*s */\n\x00%4d - %s%.*s \x00PRAGMA wal_checkpoint;\x00%4d.%03ds\n\x00       TOTAL%.*s %4d.%03ds\n\x00Verification Hash: %llu \x00\n\x00%02x\x00EXPLAIN \x00%.*s;\n\x00CREATE *\x00DROP *\x00ALTER *\x00SQL error: %s\n%s\n\x00exec error: %s\n\x00SQL error: %s\n\x00nil\x00-IFTBN\x000123456789abcdef\x00%d INSERTs into table with no index\x00BEGIN\x00CREATE%s TABLE z1(a INTEGER %s, b INTEGER %s, c TEXT %s);\x00INSERT INTO z1 VALUES(?1,?2,?3); --  %d times\x00COMMIT\x00%d ordered INSERTS with one index/PK\x00CREATE%s TABLE z2(a INTEGER %s %s, b INTEGER %s, c TEXT %s) %s\x00INSERT INTO z2 VALUES(?1,?2,?3); -- %d times\x00%d unordered INSERTS with one index/PK\x00CREATE%s TABLE t3(a INTEGER %s %s, b INTEGER %s, c TEXT %s) %s\x00INSERT INTO t3 VALUES(?1,?2,?3); -- %d times\x00%d SELECTS, numeric BETWEEN, unindexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(c) FROM z1\n WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d SELECTS, LIKE, unindexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(c) FROM z1\n WHERE c LIKE ?1; -- %d times\x00%d SELECTS w/ORDER BY, unindexed\x00SELECT a, b, c FROM z1 WHERE c LIKE ?1\n ORDER BY a; -- %d times\x00%d SELECTS w/ORDER BY and LIMIT, unindexed\x00SELECT a, b, c FROM z1 WHERE c LIKE ?1\n ORDER BY a LIMIT 10; -- %d times\x00CREATE INDEX five times\x00BEGIN;\x00CREATE UNIQUE INDEX t1b ON z1(b);\x00CREATE INDEX t1c ON z1(c);\x00CREATE UNIQUE INDEX t2b ON z2(b);\x00CREATE INDEX t2c ON z2(c DESC);\x00CREATE INDEX t3bc ON t3(b,c);\x00COMMIT;\x00%d SELECTS, numeric BETWEEN, indexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM z1\n WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d SELECTS, numeric BETWEEN, PK\x00SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM z2\n WHERE a BETWEEN ?1 AND ?2; -- %d times\x00%d SELECTS, text BETWEEN, indexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM z1\n WHERE c BETWEEN ?1 AND (?1||'~'); -- %d times\x00%d INSERTS with three indexes\x00CREATE%s TABLE t4(\n  a INTEGER %s %s,\n  b INTEGER %s,\n  c TEXT %s\n) %s\x00CREATE INDEX t4b ON t4(b)\x00CREATE INDEX t4c ON t4(c)\x00INSERT INTO t4 SELECT * FROM z1\x00DELETE and REFILL one table\x00DELETE FROM z2;\x00INSERT INTO z2 SELECT * FROM z1;\x00VACUUM\x00ALTER TABLE ADD COLUMN, and query\x00ALTER TABLE z2 ADD COLUMN d INT DEFAULT 123\x00SELECT sum(d) FROM z2\x00%d UPDATES, numeric BETWEEN, indexed\x00UPDATE z2 SET d=b*2 WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d UPDATES of individual rows\x00UPDATE z2 SET d=b*3 WHERE a=?1; -- %d times\x00One big UPDATE of the whole %d-row table\x00UPDATE z2 SET d=b*4\x00Query added column after filling\x00%d DELETEs, numeric BETWEEN, indexed\x00DELETE FROM z2 WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d DELETEs of individual rows\x00DELETE FROM t3 WHERE a=?1; -- %d times\x00Refill two %d-row tables using REPLACE\x00REPLACE INTO z2(a,b,c) SELECT a,b,c FROM z1\x00REPLACE INTO t3(a,b,c) SELECT a,b,c FROM z1\x00Refill a %d-row table using (b&1)==(a&1)\x00INSERT INTO z2(a,b,c)\n SELECT a,b,c FROM z1  WHERE (b&1)==(a&1);\x00INSERT INTO z2(a,b,c)\n SELECT a,b,c FROM z1  WHERE (b&1)<>(a&1);\x00%d four-ways joins\x00SELECT z1.c FROM z1, z2, t3, t4\n WHERE t4.a BETWEEN ?1 AND ?2\n   AND t3.a=t4.b\n   AND z2.a=t3.b\n   AND z1.c=z2.c\x00subquery in result set\x00SELECT sum(a), max(c),\n       avg((SELECT a FROM z2 WHERE 5+z2.b=z1.b) AND rowid<?1), max(c)\n FROM z1 WHERE rowid<?1;\x00%d REPLACE ops on an IPK\x00CREATE%s TABLE t5(a INTEGER PRIMARY KEY, b %s);\x00REPLACE INTO t5 VALUES(?1,?2); --  %d times\x00%d SELECTS on an IPK\x00SELECT b FROM t5 WHERE a=?1; --  %d times\x00%d REPLACE on TEXT PK\x00CREATE%s TABLE t6(a TEXT PRIMARY KEY, b %s)%s;\x00WITHOUT ROWID\x00REPLACE INTO t6 VALUES(?1,?2); --  %d times\x00%d SELECTS on a TEXT PK\x00SELECT b FROM t6 WHERE a=?1; --  %d times\x00%d SELECT DISTINCT\x00SELECT DISTINCT b FROM t5;\x00SELECT DISTINCT b FROM t6;\x00PRAGMA integrity_check\x00ANALYZE\x00Sudoku with recursive 'digits'\x00WITH RECURSIVE\n  input(sud) AS (VALUES(?1)),\n  digits(z,lp) AS (\n    VALUES('1', 1)\n    UNION ALL\n    SELECT CAST(lp+1 AS TEXT), lp+1 FROM digits WHERE lp<9\n  ),\n  x(s, ind) AS (\n    SELECT sud, instr(sud, '.') FROM input\n    UNION ALL\n    SELECT\n      substr(s, 1, ind-1) || z || substr(s, ind+1),\n      instr( substr(s, 1, ind-1) || z || substr(s, ind+1), '.' )\n     FROM x, digits AS z\n    WHERE ind>0\n      AND NOT EXISTS (\n            SELECT 1\n              FROM digits AS lp\n             WHERE z.z = substr(s, ((ind-1)/9)*9 + lp, 1)\n                OR z.z = substr(s, ((ind-1)%%9) + (lp-1)*9 + 1, 1)\n                OR z.z = substr(s, (((ind-1)/3) %% 3) * 3\n                        + ((ind-1)/27) * 27 + lp\n                        + ((lp-1) / 3) * 6, 1)\n         )\n  )\nSELECT s FROM x WHERE ind=0;\x00Sudoku with VALUES 'digits'\x00WITH RECURSIVE\n  input(sud) AS (VALUES(?1)),\n  digits(z,lp) AS (VALUES('1',1),('2',2),('3',3),('4',4),('5',5),\n                         ('6',6),('7',7),('8',8),('9',9)),\n  x(s, ind) AS (\n    SELECT sud, instr(sud, '.') FROM input\n    UNION ALL\n    SELECT\n      substr(s, 1, ind-1) || z || substr(s, ind+1),\n      instr( substr(s, 1, ind-1) || z || substr(s, ind+1), '.' )\n     FROM x, digits AS z\n    WHERE ind>0\n      AND NOT EXISTS (\n            SELECT 1\n              FROM digits AS lp\n             WHERE z.z = substr(s, ((ind-1)/9)*9 + lp, 1)\n                OR z.z = substr(s, ((ind-1)%%9) + (lp-1)*9 + 1, 1)\n                OR z.z = substr(s, (((ind-1)/3) %% 3) * 3\n                        + ((ind-1)/27) * 27 + lp\n                        + ((lp-1) / 3) * 6, 1)\n         )\n  )\nSELECT s FROM x WHERE ind=0;\x00Mandelbrot Set with spacing=%f\x00WITH RECURSIVE \n  xaxis(x) AS (VALUES(-2.0) UNION ALL SELECT x+?1 FROM xaxis WHERE x<1.2),\n  yaxis(y) AS (VALUES(-1.0) UNION ALL SELECT y+?2 FROM yaxis WHERE y<1.0),\n  m(iter, cx, cy, x, y) AS (\n    SELECT 0, x, y, 0.0, 0.0 FROM xaxis, yaxis\n    UNION ALL\n    SELECT iter+1, cx, cy, x*x-y*y + cx, 2.0*x*y + cy FROM m \n     WHERE (x*x + y*y) < 4.0 AND iter<28\n  ),\n  m2(iter, cx, cy) AS (\n    SELECT max(iter), cx, cy FROM m GROUP BY cx, cy\n  ),\n  a(t) AS (\n    SELECT group_concat( substr(' .+*#', 1+min(iter/7,4), 1), '') \n    FROM m2 GROUP BY cy\n  )\nSELECT group_concat(rtrim(t),x'0a') FROM a;\x00EXCEPT operator on %d-element tables\x00WITH RECURSIVE \n  z1(x) AS (VALUES(2) UNION ALL SELECT x+2 FROM z1 WHERE x<%d),\n  z2(y) AS (VALUES(3) UNION ALL SELECT y+3 FROM z2 WHERE y<%d)\nSELECT count(x), avg(x) FROM (\n  SELECT x FROM z1 EXCEPT SELECT y FROM z2 ORDER BY 1\n);\x00534...9..67.195....98....6.8...6...34..8.3..1....2...6.6....28....419..5...28..79\x0053....9..6..195....98....6.8...6...34..8.3..1....2...6.6....28....419..5....8..79\x0053.......6..195....98....6.8...6...34..8.3..1....2...6.6....28....419..5....8..79\x00%d.%de%d\x00Fill a table with %d FP values\x00CREATE%s TABLE z1(a REAL %s, b REAL %s);\x00INSERT INTO z1 VALUES(?1,?2); -- %d times\x00%d range queries\x00SELECT sum(b) FROM z1 WHERE a BETWEEN ?1 AND ?2\x00CREATE INDEX three times\x00CREATE INDEX t1a ON z1(a);\x00CREATE INDEX t1b ON z1(b);\x00CREATE INDEX t1ab ON z1(a,b);\x00%d indexed range queries\x00%d calls to round()\x00SELECT sum(round(a,2)+round(b,4)) FROM z1;\x00%d printf() calls\x00WITH c(fmt) AS (VALUES('%%g'),('%%e'),('%%!g'),('%%.20f'))SELECT sum(printf(fmt,a)) FROM z1, c\x00%d INSERTs into an r-tree\x00CREATE VIRTUAL TABLE rt1 USING rtree(id,x0,x1,y0,y1,z0,z1)\x00INSERT INTO rt1(id,x0,x1,y0,y1,z0,z1)VALUES(?1,?2,?3,?4,?5,?6,?7)\x00Copy from rtree to a regular table\x00CREATE TABLE z1(id INTEGER PRIMARY KEY,x0,x1,y0,y1,z0,z1)\x00INSERT INTO z1 SELECT * FROM rt1\x00%d one-dimensional intersect slice queries\x00SELECT count(*) FROM rt1 WHERE x0>=?1 AND x1<=?2\x00Verify result from 1-D intersect slice queries\x00SELECT count(*) FROM z1 WHERE x0>=?1 AND x1<=?2\x00Count disagree step %d: %d..%d.  %d vs %d\x00%d one-dimensional overlap slice queries\x00SELECT count(*) FROM rt1 WHERE y1>=?1 AND y0<=?2\x00Verify result from 1-D overlap slice queries\x00SELECT count(*) FROM z1 WHERE y1>=?1 AND y0<=?2\x00%d custom geometry callback queries\x00xslice\x00SELECT count(*) FROM rt1 WHERE id MATCH xslice(?1,?2)\x00%d three-dimensional intersect box queries\x00SELECT count(*) FROM rt1 WHERE x1>=?1 AND x0<=?2 AND y1>=?1 AND y0<=?2 AND z1>=?1 AND z0<=?2\x00%d rowid queries\x00SELECT * FROM rt1 WHERE id=?1\x00%d UPDATEs using rowid\x00UPDATE rt1 SET x0=x0+100, x1=x1+100 WHERE id=?1\x00%d UPDATEs using one-dimensional overlap\x00UPDATE rt1 SET x0=x0-100, x1=x1-100 WHERE y1>=?1 AND y0<=?1+5\x00%d DELETEs using rowid\x00DELETE FROM rt1 WHERE id=?1\x00%d DELETEs using one-dimensional overlap\x00DELETE FROM rt1 WHERE y1>=?1 AND y0<=?1+5\x00Restore deleted entries using INSERT OR IGNORE\x00INSERT OR IGNORE INTO rt1 SELECT * FROM z1\x00Fill %d rows\x00BEGIN;CREATE TABLE ZLOOKSLIKECOREDATA (  ZPK INTEGER PRIMARY KEY,  ZTERMFITTINGHOUSINGCOMMAND INTEGER,  ZBRIEFGOBYDODGERHEIGHT BLOB,  ZCAPABLETRIPDOORALMOND BLOB,  ZDEPOSITPAIRCOLLEGECOMET INTEGER,  ZFRAMEENTERSIMPLEMOUTH INTEGER,  ZHOPEFULGATEHOLECHALK INTEGER,  ZSLEEPYUSERGRANDBOWL TIMESTAMP,  ZDEWPEACHCAREERCELERY INTEGER,  ZHANGERLITHIUMDINNERMEET VARCHAR,  ZCLUBRELEASELIZARDADVICE VARCHAR,  ZCHARGECLICKHUMANEHIRE INTEGER,  ZFINGERDUEPIZZAOPTION TIMESTAMP,  ZFLYINGDOCTORTABLEMELODY BLOB,  ZLONGFINLEAVEIMAGEOIL TIMESTAMP,  ZFAMILYVISUALOWNERMATTER BLOB,  ZGOLDYOUNGINITIALNOSE FLOAT,  ZCAUSESALAMITERMCYAN BLOB,  ZSPREADMOTORBISCUITBACON FLOAT,  ZGIFTICEFISHGLUEHAIR INTEGER,  ZNOTICEPEARPOLICYJUICE TIMESTAMP,  ZBANKBUFFALORECOVERORBIT TIMESTAMP,  ZLONGDIETESSAYNATURE FLOAT,  ZACTIONRANGEELEGANTNEUTRON BLOB,  ZCADETBRIGHTPLANETBANK TIMESTAMP,  ZAIRFORGIVEHEADFROG BLOB,  ZSHARKJUSTFRUITMOVIE VARCHAR,  ZFARMERMORNINGMIRRORCONCERN BLOB,  ZWOODPOETRYCOBBLERBENCH VARCHAR,  ZHAFNIUMSCRIPTSALADMOTOR INTEGER,  ZPROBLEMCLUBPOPOVERJELLY FLOAT,  ZEIGHTLEADERWORKERMOST TIMESTAMP,  ZGLASSRESERVEBARIUMMEAL BLOB,  ZCLAMBITARUGULAFAJITA BLOB,  ZDECADEJOYOUSWAVEHABIT FLOAT,  ZCOMPANYSUMMERFIBERELF INTEGER,  ZTREATTESTQUILLCHARGE TIMESTAMP,  ZBROWBALANCEKEYCHOWDER FLOAT,  ZPEACHCOPPERDINNERLAKE FLOAT,  ZDRYWALLBEYONDBROWNBOWL VARCHAR,  ZBELLYCRASHITEMLACK BLOB,  ZTENNISCYCLEBILLOFFICER INTEGER,  ZMALLEQUIPTHANKSGLUE FLOAT,  ZMISSREPLYHUMANLIVING INTEGER,  ZKIWIVISUALPRIDEAPPLE VARCHAR,  ZWISHHITSKINMOTOR BLOB,  ZCALMRACCOONPROGRAMDEBIT VARCHAR,  ZSHINYASSISTLIVINGCRAB VARCHAR,  ZRESOLVEWRISTWRAPAPPLE VARCHAR,  ZAPPEALSIMPLESECONDHOUSING BLOB,  ZCORNERANCHORTAPEDIVER TIMESTAMP,  ZMEMORYREQUESTSOURCEBIG VARCHAR,  ZTRYFACTKEEPMILK TIMESTAMP,  ZDIVERPAINTLEATHEREASY INTEGER,  ZSORTMISTYQUOTECABBAGE BLOB,  ZTUNEGASBUFFALOCAPITAL BLOB,  ZFILLSTOPLAWJOYFUL FLOAT,  ZSTEELCAREFULPLATENUMBER FLOAT,  ZGIVEVIVIDDIVINEMEANING INTEGER,  ZTREATPACKFUTURECONVERT VARCHAR,  ZCALMLYGEMFINISHEFFECT INTEGER,  ZCABBAGESOCKEASEMINUTE BLOB,  ZPLANETFAMILYPUREMEMORY TIMESTAMP,  ZMERRYCRACKTRAINLEADER BLOB,  ZMINORWAYPAPERCLASSY TIMESTAMP,  ZEAGLELINEMINEMAIL VARCHAR,  ZRESORTYARDGREENLET TIMESTAMP,  ZYARDOREGANOVIVIDJEWEL TIMESTAMP,  ZPURECAKEVIVIDNEATLY FLOAT,  ZASKCONTACTMONITORFUN TIMESTAMP,  ZMOVEWHOGAMMAINCH VARCHAR,  ZLETTUCEBIRDMEETDEBATE TIMESTAMP,  ZGENENATURALHEARINGKITE VARCHAR,  ZMUFFINDRYERDRAWFORTUNE FLOAT,  ZGRAYSURVEYWIRELOVE FLOAT,  ZPLIERSPRINTASKOREGANO INTEGER,  ZTRAVELDRIVERCONTESTLILY INTEGER,  ZHUMORSPICESANDKIDNEY TIMESTAMP,  ZARSENICSAMPLEWAITMUON INTEGER,  ZLACEADDRESSGROUNDCAREFUL FLOAT,  ZBAMBOOMESSWASABIEVENING BLOB,  ZONERELEASEAVERAGENURSE INTEGER,  ZRADIANTWHENTRYCARD TIMESTAMP,  ZREWARDINSIDEMANGOINTENSE FLOAT,  ZNEATSTEWPARTIRON TIMESTAMP,  ZOUTSIDEPEAHENCOUNTICE TIMESTAMP,  ZCREAMEVENINGLIPBRANCH FLOAT,  ZWHALEMATHAVOCADOCOPPER FLOAT,  ZLIFEUSELEAFYBELL FLOAT,  ZWEALTHLINENGLEEFULDAY VARCHAR,  ZFACEINVITETALKGOLD BLOB,  ZWESTAMOUNTAFFECTHEARING INTEGER,  ZDELAYOUTCOMEHORNAGENCY INTEGER,  ZBIGTHINKCONVERTECONOMY BLOB,  ZBASEGOUDAREGULARFORGIVE TIMESTAMP,  ZPATTERNCLORINEGRANDCOLBY TIMESTAMP,  ZCYANBASEFEEDADROIT INTEGER,  ZCARRYFLOORMINNOWDRAGON TIMESTAMP,  ZIMAGEPENCILOTHERBOTTOM FLOAT,  ZXENONFLIGHTPALEAPPLE TIMESTAMP,  ZHERRINGJOKEFEATUREHOPEFUL FLOAT,  ZCAPYEARLYRIVETBRUSH FLOAT,  ZAGEREEDFROGBASKET VARCHAR,  ZUSUALBODYHALIBUTDIAMOND VARCHAR,  ZFOOTTAPWORDENTRY VARCHAR,  ZDISHKEEPBLESTMONITOR FLOAT,  ZBROADABLESOLIDCASUAL INTEGER,  ZSQUAREGLEEFULCHILDLIGHT INTEGER,  ZHOLIDAYHEADPONYDETAIL INTEGER,  ZGENERALRESORTSKYOPEN TIMESTAMP,  ZGLADSPRAYKIDNEYGUPPY VARCHAR,  ZSWIMHEAVYMENTIONKIND BLOB,  ZMESSYSULFURDREAMFESTIVE BLOB,  ZSKYSKYCLASSICBRIEF VARCHAR,  ZDILLASKHOKILEMON FLOAT,  ZJUNIORSHOWPRESSNOVA FLOAT,  ZSIZETOEAWARDFRESH TIMESTAMP,  ZKEYFAILAPRICOTMETAL VARCHAR,  ZHANDYREPAIRPROTONAIRPORT VARCHAR,  ZPOSTPROTEINHANDLEACTOR BLOB);\x00INSERT INTO ZLOOKSLIKECOREDATA(ZPK,ZAIRFORGIVEHEADFROG,ZGIFTICEFISHGLUEHAIR,ZDELAYOUTCOMEHORNAGENCY,ZSLEEPYUSERGRANDBOWL,ZGLASSRESERVEBARIUMMEAL,ZBRIEFGOBYDODGERHEIGHT,ZBAMBOOMESSWASABIEVENING,ZFARMERMORNINGMIRRORCONCERN,ZTREATPACKFUTURECONVERT,ZCAUSESALAMITERMCYAN,ZCALMRACCOONPROGRAMDEBIT,ZHOLIDAYHEADPONYDETAIL,ZWOODPOETRYCOBBLERBENCH,ZHAFNIUMSCRIPTSALADMOTOR,ZUSUALBODYHALIBUTDIAMOND,ZOUTSIDEPEAHENCOUNTICE,ZDIVERPAINTLEATHEREASY,ZWESTAMOUNTAFFECTHEARING,ZSIZETOEAWARDFRESH,ZDEWPEACHCAREERCELERY,ZSTEELCAREFULPLATENUMBER,ZCYANBASEFEEDADROIT,ZCALMLYGEMFINISHEFFECT,ZHANDYREPAIRPROTONAIRPORT,ZGENENATURALHEARINGKITE,ZBROADABLESOLIDCASUAL,ZPOSTPROTEINHANDLEACTOR,ZLACEADDRESSGROUNDCAREFUL,ZIMAGEPENCILOTHERBOTTOM,ZPROBLEMCLUBPOPOVERJELLY,ZPATTERNCLORINEGRANDCOLBY,ZNEATSTEWPARTIRON,ZAPPEALSIMPLESECONDHOUSING,ZMOVEWHOGAMMAINCH,ZTENNISCYCLEBILLOFFICER,ZSHARKJUSTFRUITMOVIE,ZKEYFAILAPRICOTMETAL,ZCOMPANYSUMMERFIBERELF,ZTERMFITTINGHOUSINGCOMMAND,ZRESORTYARDGREENLET,ZCABBAGESOCKEASEMINUTE,ZSQUAREGLEEFULCHILDLIGHT,ZONERELEASEAVERAGENURSE,ZBIGTHINKCONVERTECONOMY,ZPLIERSPRINTASKOREGANO,ZDECADEJOYOUSWAVEHABIT,ZDRYWALLBEYONDBROWNBOWL,ZCLUBRELEASELIZARDADVICE,ZWHALEMATHAVOCADOCOPPER,ZBELLYCRASHITEMLACK,ZLETTUCEBIRDMEETDEBATE,ZCAPABLETRIPDOORALMOND,ZRADIANTWHENTRYCARD,ZCAPYEARLYRIVETBRUSH,ZAGEREEDFROGBASKET,ZSWIMHEAVYMENTIONKIND,ZTRAVELDRIVERCONTESTLILY,ZGLADSPRAYKIDNEYGUPPY,ZBANKBUFFALORECOVERORBIT,ZFINGERDUEPIZZAOPTION,ZCLAMBITARUGULAFAJITA,ZLONGFINLEAVEIMAGEOIL,ZLONGDIETESSAYNATURE,ZJUNIORSHOWPRESSNOVA,ZHOPEFULGATEHOLECHALK,ZDEPOSITPAIRCOLLEGECOMET,ZWEALTHLINENGLEEFULDAY,ZFILLSTOPLAWJOYFUL,ZTUNEGASBUFFALOCAPITAL,ZGRAYSURVEYWIRELOVE,ZCORNERANCHORTAPEDIVER,ZREWARDINSIDEMANGOINTENSE,ZCADETBRIGHTPLANETBANK,ZPLANETFAMILYPUREMEMORY,ZTREATTESTQUILLCHARGE,ZCREAMEVENINGLIPBRANCH,ZSKYSKYCLASSICBRIEF,ZARSENICSAMPLEWAITMUON,ZBROWBALANCEKEYCHOWDER,ZFLYINGDOCTORTABLEMELODY,ZHANGERLITHIUMDINNERMEET,ZNOTICEPEARPOLICYJUICE,ZSHINYASSISTLIVINGCRAB,ZLIFEUSELEAFYBELL,ZFACEINVITETALKGOLD,ZGENERALRESORTSKYOPEN,ZPURECAKEVIVIDNEATLY,ZKIWIVISUALPRIDEAPPLE,ZMESSYSULFURDREAMFESTIVE,ZCHARGECLICKHUMANEHIRE,ZHERRINGJOKEFEATUREHOPEFUL,ZYARDOREGANOVIVIDJEWEL,ZFOOTTAPWORDENTRY,ZWISHHITSKINMOTOR,ZBASEGOUDAREGULARFORGIVE,ZMUFFINDRYERDRAWFORTUNE,ZACTIONRANGEELEGANTNEUTRON,ZTRYFACTKEEPMILK,ZPEACHCOPPERDINNERLAKE,ZFRAMEENTERSIMPLEMOUTH,ZMERRYCRACKTRAINLEADER,ZMEMORYREQUESTSOURCEBIG,ZCARRYFLOORMINNOWDRAGON,ZMINORWAYPAPERCLASSY,ZDILLASKHOKILEMON,ZRESOLVEWRISTWRAPAPPLE,ZASKCONTACTMONITORFUN,ZGIVEVIVIDDIVINEMEANING,ZEIGHTLEADERWORKERMOST,ZMISSREPLYHUMANLIVING,ZXENONFLIGHTPALEAPPLE,ZSORTMISTYQUOTECABBAGE,ZEAGLELINEMINEMAIL,ZFAMILYVISUALOWNERMATTER,ZSPREADMOTORBISCUITBACON,ZDISHKEEPBLESTMONITOR,ZMALLEQUIPTHANKSGLUE,ZGOLDYOUNGINITIALNOSE,ZHUMORSPICESANDKIDNEY)VALUES(?1,?26,?20,?93,?8,?33,?3,?81,?28,?60,?18,?47,?109,?29,?30,?104,?86,?54,?92,?117,?9,?58,?97,?61,?119,?73,?107,?120,?80,?99,?31,?96,?85,?50,?71,?42,?27,?118,?36,?2,?67,?62,?108,?82,?94,?76,?35,?40,?11,?88,?41,?72,?4,?83,?102,?103,?112,?77,?111,?22,?13,?34,?15,?23,?116,?7,?5,?90,?57,?56,?75,?51,?84,?25,?63,?37,?87,?114,?79,?38,?14,?10,?21,?48,?89,?91,?110,?69,?45,?113,?12,?101,?68,?105,?46,?95,?74,?24,?53,?39,?6,?64,?52,?98,?65,?115,?49,?70,?59,?32,?44,?100,?55,?66,?16,?19,?106,?43,?17,?78);\x00Query %d rows by rowid\x00SELECT ZCYANBASEFEEDADROIT,ZJUNIORSHOWPRESSNOVA,ZCAUSESALAMITERMCYAN,ZHOPEFULGATEHOLECHALK,ZHUMORSPICESANDKIDNEY,ZSWIMHEAVYMENTIONKIND,ZMOVEWHOGAMMAINCH,ZAPPEALSIMPLESECONDHOUSING,ZHAFNIUMSCRIPTSALADMOTOR,ZNEATSTEWPARTIRON,ZLONGFINLEAVEIMAGEOIL,ZDEWPEACHCAREERCELERY,ZXENONFLIGHTPALEAPPLE,ZCALMRACCOONPROGRAMDEBIT,ZUSUALBODYHALIBUTDIAMOND,ZTRYFACTKEEPMILK,ZWEALTHLINENGLEEFULDAY,ZLONGDIETESSAYNATURE,ZLIFEUSELEAFYBELL,ZTREATPACKFUTURECONVERT,ZMEMORYREQUESTSOURCEBIG,ZYARDOREGANOVIVIDJEWEL,ZDEPOSITPAIRCOLLEGECOMET,ZSLEEPYUSERGRANDBOWL,ZBRIEFGOBYDODGERHEIGHT,ZCLUBRELEASELIZARDADVICE,ZCAPABLETRIPDOORALMOND,ZDRYWALLBEYONDBROWNBOWL,ZASKCONTACTMONITORFUN,ZKIWIVISUALPRIDEAPPLE,ZNOTICEPEARPOLICYJUICE,ZPEACHCOPPERDINNERLAKE,ZSTEELCAREFULPLATENUMBER,ZGLADSPRAYKIDNEYGUPPY,ZCOMPANYSUMMERFIBERELF,ZTENNISCYCLEBILLOFFICER,ZIMAGEPENCILOTHERBOTTOM,ZWESTAMOUNTAFFECTHEARING,ZDIVERPAINTLEATHEREASY,ZSKYSKYCLASSICBRIEF,ZMESSYSULFURDREAMFESTIVE,ZMERRYCRACKTRAINLEADER,ZBROADABLESOLIDCASUAL,ZGLASSRESERVEBARIUMMEAL,ZTUNEGASBUFFALOCAPITAL,ZBANKBUFFALORECOVERORBIT,ZTREATTESTQUILLCHARGE,ZBAMBOOMESSWASABIEVENING,ZREWARDINSIDEMANGOINTENSE,ZEAGLELINEMINEMAIL,ZCALMLYGEMFINISHEFFECT,ZKEYFAILAPRICOTMETAL,ZFINGERDUEPIZZAOPTION,ZCADETBRIGHTPLANETBANK,ZGOLDYOUNGINITIALNOSE,ZMISSREPLYHUMANLIVING,ZEIGHTLEADERWORKERMOST,ZFRAMEENTERSIMPLEMOUTH,ZBIGTHINKCONVERTECONOMY,ZFACEINVITETALKGOLD,ZPOSTPROTEINHANDLEACTOR,ZHERRINGJOKEFEATUREHOPEFUL,ZCABBAGESOCKEASEMINUTE,ZMUFFINDRYERDRAWFORTUNE,ZPROBLEMCLUBPOPOVERJELLY,ZGIVEVIVIDDIVINEMEANING,ZGENENATURALHEARINGKITE,ZGENERALRESORTSKYOPEN,ZLETTUCEBIRDMEETDEBATE,ZBASEGOUDAREGULARFORGIVE,ZCHARGECLICKHUMANEHIRE,ZPLANETFAMILYPUREMEMORY,ZMINORWAYPAPERCLASSY,ZCAPYEARLYRIVETBRUSH,ZSIZETOEAWARDFRESH,ZARSENICSAMPLEWAITMUON,ZSQUAREGLEEFULCHILDLIGHT,ZSHINYASSISTLIVINGCRAB,ZCORNERANCHORTAPEDIVER,ZDECADEJOYOUSWAVEHABIT,ZTRAVELDRIVERCONTESTLILY,ZFLYINGDOCTORTABLEMELODY,ZSHARKJUSTFRUITMOVIE,ZFAMILYVISUALOWNERMATTER,ZFARMERMORNINGMIRRORCONCERN,ZGIFTICEFISHGLUEHAIR,ZOUTSIDEPEAHENCOUNTICE,ZSPREADMOTORBISCUITBACON,ZWISHHITSKINMOTOR,ZHOLIDAYHEADPONYDETAIL,ZWOODPOETRYCOBBLERBENCH,ZAIRFORGIVEHEADFROG,ZBROWBALANCEKEYCHOWDER,ZDISHKEEPBLESTMONITOR,ZCLAMBITARUGULAFAJITA,ZPLIERSPRINTASKOREGANO,ZRADIANTWHENTRYCARD,ZDELAYOUTCOMEHORNAGENCY,ZPURECAKEVIVIDNEATLY,ZPATTERNCLORINEGRANDCOLBY,ZHANDYREPAIRPROTONAIRPORT,ZAGEREEDFROGBASKET,ZSORTMISTYQUOTECABBAGE,ZFOOTTAPWORDENTRY,ZRESOLVEWRISTWRAPAPPLE,ZDILLASKHOKILEMON,ZFILLSTOPLAWJOYFUL,ZACTIONRANGEELEGANTNEUTRON,ZRESORTYARDGREENLET,ZCREAMEVENINGLIPBRANCH,ZWHALEMATHAVOCADOCOPPER,ZGRAYSURVEYWIRELOVE,ZBELLYCRASHITEMLACK,ZHANGERLITHIUMDINNERMEET,ZCARRYFLOORMINNOWDRAGON,ZMALLEQUIPTHANKSGLUE,ZTERMFITTINGHOUSINGCOMMAND,ZONERELEASEAVERAGENURSE,ZLACEADDRESSGROUNDCAREFUL FROM ZLOOKSLIKECOREDATA WHERE ZPK=?1;\x00IBBIIITIVVITBTBFBFITTFBTBVBVIFTBBFITFFVBIFIVBVVVBTVTIBBFFIVIBTBTVTTFTVTVFFIITIFBITFTTFFFVBIIBTTITFTFFVVVFIIITVBBVFFTVVB\x00BEGIN;CREATE TABLE z1(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE TABLE z2(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE TABLE t3(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE VIEW v1 AS SELECT rowid, i, t FROM z1;CREATE VIEW v2 AS SELECT rowid, i, t FROM z2;CREATE VIEW v3 AS SELECT rowid, i, t FROM t3;\x00INSERT INTO t%d VALUES(NULL,?1,?2)\x00CREATE INDEX i1 ON z1(t);CREATE INDEX i2 ON z2(t);CREATE INDEX i3 ON t3(t);COMMIT;\x00speed4p-join1\x00SELECT * FROM z1, z2, t3 WHERE z1.oid = z2.oid AND z2.oid = t3.oid\x00speed4p-join2\x00SELECT * FROM z1, z2, t3 WHERE z1.t = z2.t AND z2.t = t3.t\x00speed4p-view1\x00SELECT * FROM v%d WHERE rowid = ?\x00speed4p-table1\x00SELECT * FROM t%d WHERE rowid = ?\x00speed4p-subselect1\x00SELECT (SELECT t FROM z1 WHERE rowid = ?1),(SELECT t FROM z2 WHERE rowid = ?1),(SELECT t FROM t3 WHERE rowid = ?1)\x00speed4p-rowid-update\x00UPDATE z1 SET i=i+1 WHERE rowid=?1\x00CREATE TABLE t5(t TEXT PRIMARY KEY, i INTEGER);\x00speed4p-insert-ignore\x00INSERT OR IGNORE INTO t5 SELECT t, i FROM z1\x00CREATE TABLE log(op TEXT, r INTEGER, i INTEGER, t TEXT);CREATE TABLE t4(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE TRIGGER t4_trigger1 AFTER INSERT ON t4 BEGIN  INSERT INTO log VALUES('INSERT INTO t4', new.rowid, new.i, new.t);END;CREATE TRIGGER t4_trigger2 AFTER UPDATE ON t4 BEGIN  INSERT INTO log VALUES('UPDATE OF t4', new.rowid, new.i, new.t);END;CREATE TRIGGER t4_trigger3 AFTER DELETE ON t4 BEGIN  INSERT INTO log VALUES('DELETE OF t4', old.rowid, old.i, old.t);END;BEGIN;\x00speed4p-trigger1\x00INSERT INTO t4 VALUES(NULL, ?1, ?2)\x00speed4p-trigger2\x00UPDATE t4 SET i = ?1, t = ?2 WHERE rowid = ?3\x00speed4p-trigger3\x00DELETE FROM t4 WHERE rowid = ?1\x00DROP TABLE t4;DROP TABLE log;VACUUM;CREATE TABLE t4(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);BEGIN;\x00speed4p-notrigger1\x00speed4p-notrigger2\x00speed4p-notrigger3\x00%5d %5d %5d %s\n\x00-- Compile option: %s\n\x00main\x00-- Speedtest1 for SQLite %s %.48s\n\x00UNIQUE\x00autovacuum\x00cachesize\x00missing argument on %s\n\x00exclusive\x00checkpoint\x00explain\x00heap\x00missing arguments on %s\n\x00incrvacuum\x00journal\x00key\x00lookaside\x00memdb\x00multithread\x00nomemstat\x00mmap\x00nosync\x00notnull\x00NOT NULL\x00output\x00-\x00wb\x00cannot open \"%s\" for writing\n\x00pagesize\x00pcache\x00primarykey\x00PRIMARY KEY\x00repeat\x00reprepare\x00serialized\x00singlethread\x00sqlonly\x00shrink-memory\x00size\x00stats\x00temp\x00argument to --temp should be integer between 0 and 9\x00testset\x00trace\x00threads\x00utf16le\x00utf16be\x00verify\x00reserve\x00without-rowid\x00WITHOUT\x00STRICT\x00WITHOUT ROWID,STRICT\x00strict\x00help\x00?\x00unknown option: %s\nUse \"%s -?\" for help\n\x00surplus argument: %s\nUse \"%s -?\" for help\n\x00cannot allocate %d-byte heap\n\x00heap configuration failed: %d\n\x00cannot allocate %lld-byte pcache\n\x00pcache configuration failed: %d\n\x00:memory:\x00Cannot open database file: %s\n\x00lookaside configuration failed: %d\n\x00random\x00PRAGMA temp_store=memory\x00PRAGMA mmap_size=%d\x00PRAGMA threads=%d\x00PRAGMA key('%s')\x00PRAGMA encoding=%s\x00PRAGMA auto_vacuum=FULL\x00PRAGMA auto_vacuum=INCREMENTAL\x00PRAGMA page_size=%d\x00PRAGMA cache_size=%d\x00PRAGMA synchronous=OFF\x00PRAGMA locking_mode=EXCLUSIVE\x00PRAGMA journal_mode=%s\x00.explain\n.echo on\n\x00       Begin testset \"%s\"\n\x00debug1\x00orm\x00cte\x00fp\x00trigger\x00rtree\x00unknown testset: \"%s\"\nChoices: cte debug1 fp main orm rtree trigger\n\x00Reset the database\x00SELECT name FROM main.sqlite_master WHERE sql LIKE 'CREATE %%TABLE%%'\x00DROP TABLE main.\"%w\"\x00SELECT name FROM temp.sqlite_master WHERE sql LIKE 'CREATE %%TABLE%%'\x00PRAGMA compile_options\x00-- Lookaside Slots Used:        %d (max %d)\n\x00-- Successful lookasides:       %d\n\x00-- Lookaside size faults:       %d\n\x00-- Lookaside OOM faults:        %d\n\x00-- Pager Heap Usage:            %d bytes\n\x00-- Page cache hits:             %d\n\x00-- Page cache misses:           %d\n\x00-- Page cache writes:           %d\n\x00-- Schema Heap Usage:           %d bytes\n\x00-- Statement Heap Usage:        %d bytes\n\x00-- Memory Used (bytes):         %d (max %d)\n\x00-- Outstanding Allocations:     %d (max %d)\n\x00-- Pcache Overflow Bytes:       %d (max %d)\n\x00-- Largest Allocation:          %d bytes\n\x00-- Largest Pcache Allocation:   %d bytes\n\x00"
  3517  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data