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

     1  // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_linux_riscv64.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', 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                                = 8192
    28  	BYTE_ORDER                            = 1234
    29  	EOF                                   = -1
    30  	EXIT_FAILURE                          = 1
    31  	EXIT_SUCCESS                          = 0
    32  	FD_SETSIZE                            = 1024
    33  	FILENAME_MAX                          = 4096
    34  	FOPEN_MAX                             = 16
    35  	FTS5_TOKENIZE_AUX                     = 0x0008
    36  	FTS5_TOKENIZE_DOCUMENT                = 0x0004
    37  	FTS5_TOKENIZE_PREFIX                  = 0x0002
    38  	FTS5_TOKENIZE_QUERY                   = 0x0001
    39  	FTS5_TOKEN_COLOCATED                  = 0x0001
    40  	FULLY_WITHIN                          = 2
    41  	F_LOCK                                = 1
    42  	F_OK                                  = 0
    43  	F_TEST                                = 3
    44  	F_TLOCK                               = 2
    45  	F_ULOCK                               = 0
    46  	HAVE_USLEEP                           = 1
    47  	LITTLE_ENDIAN                         = 1234
    48  	L_INCR                                = 1
    49  	L_SET                                 = 0
    50  	L_XTND                                = 2
    51  	L_ctermid                             = 9
    52  	L_tmpnam                              = 20
    53  	NAMEWIDTH                             = 60
    54  	NDEBUG                                = 1
    55  	NOT_WITHIN                            = 0
    56  	PARTLY_WITHIN                         = 1
    57  	PDP_ENDIAN                            = 3412
    58  	P_tmpdir                              = "/tmp"
    59  	RAND_MAX                              = 2147483647
    60  	R_OK                                  = 4
    61  	SEEK_CUR                              = 1
    62  	SEEK_END                              = 2
    63  	SEEK_SET                              = 0
    64  	SQLITE3_H                             = 0
    65  	SQLITE3_TEXT                          = 3
    66  	SQLITE_ABORT                          = 4
    67  	SQLITE_ABORT_ROLLBACK                 = 516
    68  	SQLITE_ACCESS_EXISTS                  = 0
    69  	SQLITE_ACCESS_READ                    = 2
    70  	SQLITE_ACCESS_READWRITE               = 1
    71  	SQLITE_ALTER_TABLE                    = 26
    72  	SQLITE_ANALYZE                        = 28
    73  	SQLITE_ANY                            = 5
    74  	SQLITE_API                            = 0
    75  	SQLITE_APICALL                        = 0
    76  	SQLITE_ATTACH                         = 24
    77  	SQLITE_AUTH                           = 23
    78  	SQLITE_AUTH_USER                      = 279
    79  	SQLITE_BLOB                           = 4
    80  	SQLITE_BUSY                           = 5
    81  	SQLITE_BUSY_RECOVERY                  = 261
    82  	SQLITE_BUSY_SNAPSHOT                  = 517
    83  	SQLITE_BUSY_TIMEOUT                   = 773
    84  	SQLITE_CALLBACK                       = 0
    85  	SQLITE_CANTOPEN                       = 14
    86  	SQLITE_CANTOPEN_CONVPATH              = 1038
    87  	SQLITE_CANTOPEN_DIRTYWAL              = 1294
    88  	SQLITE_CANTOPEN_FULLPATH              = 782
    89  	SQLITE_CANTOPEN_ISDIR                 = 526
    90  	SQLITE_CANTOPEN_NOTEMPDIR             = 270
    91  	SQLITE_CANTOPEN_SYMLINK               = 1550
    92  	SQLITE_CDECL                          = 0
    93  	SQLITE_CHANGESETAPPLY_INVERT          = 0x0002
    94  	SQLITE_CHANGESETAPPLY_NOSAVEPOINT     = 0x0001
    95  	SQLITE_CHANGESETSTART_INVERT          = 0x0002
    96  	SQLITE_CHANGESET_ABORT                = 2
    97  	SQLITE_CHANGESET_CONFLICT             = 3
    98  	SQLITE_CHANGESET_CONSTRAINT           = 4
    99  	SQLITE_CHANGESET_DATA                 = 1
   100  	SQLITE_CHANGESET_FOREIGN_KEY          = 5
   101  	SQLITE_CHANGESET_NOTFOUND             = 2
   102  	SQLITE_CHANGESET_OMIT                 = 0
   103  	SQLITE_CHANGESET_REPLACE              = 1
   104  	SQLITE_CHECKPOINT_FULL                = 1
   105  	SQLITE_CHECKPOINT_PASSIVE             = 0
   106  	SQLITE_CHECKPOINT_RESTART             = 2
   107  	SQLITE_CHECKPOINT_TRUNCATE            = 3
   108  	SQLITE_CONFIG_COVERING_INDEX_SCAN     = 20
   109  	SQLITE_CONFIG_GETMALLOC               = 5
   110  	SQLITE_CONFIG_GETMUTEX                = 11
   111  	SQLITE_CONFIG_GETPCACHE               = 15
   112  	SQLITE_CONFIG_GETPCACHE2              = 19
   113  	SQLITE_CONFIG_HEAP                    = 8
   114  	SQLITE_CONFIG_LOG                     = 16
   115  	SQLITE_CONFIG_LOOKASIDE               = 13
   116  	SQLITE_CONFIG_MALLOC                  = 4
   117  	SQLITE_CONFIG_MEMDB_MAXSIZE           = 29
   118  	SQLITE_CONFIG_MEMSTATUS               = 9
   119  	SQLITE_CONFIG_MMAP_SIZE               = 22
   120  	SQLITE_CONFIG_MULTITHREAD             = 2
   121  	SQLITE_CONFIG_MUTEX                   = 10
   122  	SQLITE_CONFIG_PAGECACHE               = 7
   123  	SQLITE_CONFIG_PCACHE                  = 14
   124  	SQLITE_CONFIG_PCACHE2                 = 18
   125  	SQLITE_CONFIG_PCACHE_HDRSZ            = 24
   126  	SQLITE_CONFIG_PMASZ                   = 25
   127  	SQLITE_CONFIG_SCRATCH                 = 6
   128  	SQLITE_CONFIG_SERIALIZED              = 3
   129  	SQLITE_CONFIG_SINGLETHREAD            = 1
   130  	SQLITE_CONFIG_SMALL_MALLOC            = 27
   131  	SQLITE_CONFIG_SORTERREF_SIZE          = 28
   132  	SQLITE_CONFIG_SQLLOG                  = 21
   133  	SQLITE_CONFIG_STMTJRNL_SPILL          = 26
   134  	SQLITE_CONFIG_URI                     = 17
   135  	SQLITE_CONFIG_WIN32_HEAPSIZE          = 23
   136  	SQLITE_CONSTRAINT                     = 19
   137  	SQLITE_CONSTRAINT_CHECK               = 275
   138  	SQLITE_CONSTRAINT_COMMITHOOK          = 531
   139  	SQLITE_CONSTRAINT_DATATYPE            = 3091
   140  	SQLITE_CONSTRAINT_FOREIGNKEY          = 787
   141  	SQLITE_CONSTRAINT_FUNCTION            = 1043
   142  	SQLITE_CONSTRAINT_NOTNULL             = 1299
   143  	SQLITE_CONSTRAINT_PINNED              = 2835
   144  	SQLITE_CONSTRAINT_PRIMARYKEY          = 1555
   145  	SQLITE_CONSTRAINT_ROWID               = 2579
   146  	SQLITE_CONSTRAINT_TRIGGER             = 1811
   147  	SQLITE_CONSTRAINT_UNIQUE              = 2067
   148  	SQLITE_CONSTRAINT_VTAB                = 2323
   149  	SQLITE_COPY                           = 0
   150  	SQLITE_CORE                           = 1
   151  	SQLITE_CORRUPT                        = 11
   152  	SQLITE_CORRUPT_INDEX                  = 779
   153  	SQLITE_CORRUPT_SEQUENCE               = 523
   154  	SQLITE_CORRUPT_VTAB                   = 267
   155  	SQLITE_CREATE_INDEX                   = 1
   156  	SQLITE_CREATE_TABLE                   = 2
   157  	SQLITE_CREATE_TEMP_INDEX              = 3
   158  	SQLITE_CREATE_TEMP_TABLE              = 4
   159  	SQLITE_CREATE_TEMP_TRIGGER            = 5
   160  	SQLITE_CREATE_TEMP_VIEW               = 6
   161  	SQLITE_CREATE_TRIGGER                 = 7
   162  	SQLITE_CREATE_VIEW                    = 8
   163  	SQLITE_CREATE_VTABLE                  = 29
   164  	SQLITE_DBCONFIG_DEFENSIVE             = 1010
   165  	SQLITE_DBCONFIG_DQS_DDL               = 1014
   166  	SQLITE_DBCONFIG_DQS_DML               = 1013
   167  	SQLITE_DBCONFIG_ENABLE_FKEY           = 1002
   168  	SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004
   169  	SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005
   170  	SQLITE_DBCONFIG_ENABLE_QPSG           = 1007
   171  	SQLITE_DBCONFIG_ENABLE_TRIGGER        = 1003
   172  	SQLITE_DBCONFIG_ENABLE_VIEW           = 1015
   173  	SQLITE_DBCONFIG_LEGACY_ALTER_TABLE    = 1012
   174  	SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    = 1016
   175  	SQLITE_DBCONFIG_LOOKASIDE             = 1001
   176  	SQLITE_DBCONFIG_MAINDBNAME            = 1000
   177  	SQLITE_DBCONFIG_MAX                   = 1017
   178  	SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE      = 1006
   179  	SQLITE_DBCONFIG_RESET_DATABASE        = 1009
   180  	SQLITE_DBCONFIG_TRIGGER_EQP           = 1008
   181  	SQLITE_DBCONFIG_TRUSTED_SCHEMA        = 1017
   182  	SQLITE_DBCONFIG_WRITABLE_SCHEMA       = 1011
   183  	SQLITE_DBSTATUS_CACHE_HIT             = 7
   184  	SQLITE_DBSTATUS_CACHE_MISS            = 8
   185  	SQLITE_DBSTATUS_CACHE_SPILL           = 12
   186  	SQLITE_DBSTATUS_CACHE_USED            = 1
   187  	SQLITE_DBSTATUS_CACHE_USED_SHARED     = 11
   188  	SQLITE_DBSTATUS_CACHE_WRITE           = 9
   189  	SQLITE_DBSTATUS_DEFERRED_FKS          = 10
   190  	SQLITE_DBSTATUS_LOOKASIDE_HIT         = 4
   191  	SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL   = 6
   192  	SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE   = 5
   193  	SQLITE_DBSTATUS_LOOKASIDE_USED        = 0
   194  	SQLITE_DBSTATUS_MAX                   = 12
   195  	SQLITE_DBSTATUS_SCHEMA_USED           = 2
   196  	SQLITE_DBSTATUS_STMT_USED             = 3
   197  	SQLITE_DELETE                         = 9
   198  	SQLITE_DENY                           = 1
   199  	SQLITE_DEPRECATED                     = 0
   200  	SQLITE_DESERIALIZE_FREEONCLOSE        = 1
   201  	SQLITE_DESERIALIZE_READONLY           = 4
   202  	SQLITE_DESERIALIZE_RESIZEABLE         = 2
   203  	SQLITE_DETACH                         = 25
   204  	SQLITE_DETERMINISTIC                  = 0x000000800
   205  	SQLITE_DIRECTONLY                     = 0x000080000
   206  	SQLITE_DONE                           = 101
   207  	SQLITE_DROP_INDEX                     = 10
   208  	SQLITE_DROP_TABLE                     = 11
   209  	SQLITE_DROP_TEMP_INDEX                = 12
   210  	SQLITE_DROP_TEMP_TABLE                = 13
   211  	SQLITE_DROP_TEMP_TRIGGER              = 14
   212  	SQLITE_DROP_TEMP_VIEW                 = 15
   213  	SQLITE_DROP_TRIGGER                   = 16
   214  	SQLITE_DROP_VIEW                      = 17
   215  	SQLITE_DROP_VTABLE                    = 30
   216  	SQLITE_EMPTY                          = 16
   217  	SQLITE_ENABLE_COLUMN_METADATA         = 1
   218  	SQLITE_ENABLE_FTS5                    = 1
   219  	SQLITE_ENABLE_GEOPOLY                 = 1
   220  	SQLITE_ENABLE_MATH_FUNCTIONS          = 1
   221  	SQLITE_ENABLE_MEMORY_MANAGEMENT       = 1
   222  	SQLITE_ENABLE_OFFSET_SQL_FUNC         = 1
   223  	SQLITE_ENABLE_PREUPDATE_HOOK          = 1
   224  	SQLITE_ENABLE_RBU                     = 1
   225  	SQLITE_ENABLE_RTREE                   = 1
   226  	SQLITE_ENABLE_SESSION                 = 1
   227  	SQLITE_ENABLE_SNAPSHOT                = 1
   228  	SQLITE_ENABLE_STAT4                   = 1
   229  	SQLITE_ENABLE_UNLOCK_NOTIFY           = 1
   230  	SQLITE_ERROR                          = 1
   231  	SQLITE_ERROR_MISSING_COLLSEQ          = 257
   232  	SQLITE_ERROR_RETRY                    = 513
   233  	SQLITE_ERROR_SNAPSHOT                 = 769
   234  	SQLITE_EXPERIMENTAL                   = 0
   235  	SQLITE_FAIL                           = 3
   236  	SQLITE_FCNTL_BEGIN_ATOMIC_WRITE       = 31
   237  	SQLITE_FCNTL_BUSYHANDLER              = 15
   238  	SQLITE_FCNTL_CHUNK_SIZE               = 6
   239  	SQLITE_FCNTL_CKPT_DONE                = 37
   240  	SQLITE_FCNTL_CKPT_START               = 39
   241  	SQLITE_FCNTL_CKSM_FILE                = 41
   242  	SQLITE_FCNTL_COMMIT_ATOMIC_WRITE      = 32
   243  	SQLITE_FCNTL_COMMIT_PHASETWO          = 22
   244  	SQLITE_FCNTL_DATA_VERSION             = 35
   245  	SQLITE_FCNTL_EXTERNAL_READER          = 40
   246  	SQLITE_FCNTL_FILE_POINTER             = 7
   247  	SQLITE_FCNTL_GET_LOCKPROXYFILE        = 2
   248  	SQLITE_FCNTL_HAS_MOVED                = 20
   249  	SQLITE_FCNTL_JOURNAL_POINTER          = 28
   250  	SQLITE_FCNTL_LAST_ERRNO               = 4
   251  	SQLITE_FCNTL_LOCKSTATE                = 1
   252  	SQLITE_FCNTL_LOCK_TIMEOUT             = 34
   253  	SQLITE_FCNTL_MMAP_SIZE                = 18
   254  	SQLITE_FCNTL_OVERWRITE                = 11
   255  	SQLITE_FCNTL_PDB                      = 30
   256  	SQLITE_FCNTL_PERSIST_WAL              = 10
   257  	SQLITE_FCNTL_POWERSAFE_OVERWRITE      = 13
   258  	SQLITE_FCNTL_PRAGMA                   = 14
   259  	SQLITE_FCNTL_RBU                      = 26
   260  	SQLITE_FCNTL_RESERVE_BYTES            = 38
   261  	SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE    = 33
   262  	SQLITE_FCNTL_SET_LOCKPROXYFILE        = 3
   263  	SQLITE_FCNTL_SIZE_HINT                = 5
   264  	SQLITE_FCNTL_SIZE_LIMIT               = 36
   265  	SQLITE_FCNTL_SYNC                     = 21
   266  	SQLITE_FCNTL_SYNC_OMITTED             = 8
   267  	SQLITE_FCNTL_TEMPFILENAME             = 16
   268  	SQLITE_FCNTL_TRACE                    = 19
   269  	SQLITE_FCNTL_VFSNAME                  = 12
   270  	SQLITE_FCNTL_VFS_POINTER              = 27
   271  	SQLITE_FCNTL_WAL_BLOCK                = 24
   272  	SQLITE_FCNTL_WIN32_AV_RETRY           = 9
   273  	SQLITE_FCNTL_WIN32_GET_HANDLE         = 29
   274  	SQLITE_FCNTL_WIN32_SET_HANDLE         = 23
   275  	SQLITE_FCNTL_ZIPVFS                   = 25
   276  	SQLITE_FLOAT                          = 2
   277  	SQLITE_FORMAT                         = 24
   278  	SQLITE_FULL                           = 13
   279  	SQLITE_FUNCTION                       = 31
   280  	SQLITE_GET_LOCKPROXYFILE              = 2
   281  	SQLITE_IGNORE                         = 2
   282  	SQLITE_INDEX_CONSTRAINT_EQ            = 2
   283  	SQLITE_INDEX_CONSTRAINT_FUNCTION      = 150
   284  	SQLITE_INDEX_CONSTRAINT_GE            = 32
   285  	SQLITE_INDEX_CONSTRAINT_GLOB          = 66
   286  	SQLITE_INDEX_CONSTRAINT_GT            = 4
   287  	SQLITE_INDEX_CONSTRAINT_IS            = 72
   288  	SQLITE_INDEX_CONSTRAINT_ISNOT         = 69
   289  	SQLITE_INDEX_CONSTRAINT_ISNOTNULL     = 70
   290  	SQLITE_INDEX_CONSTRAINT_ISNULL        = 71
   291  	SQLITE_INDEX_CONSTRAINT_LE            = 8
   292  	SQLITE_INDEX_CONSTRAINT_LIKE          = 65
   293  	SQLITE_INDEX_CONSTRAINT_LIMIT         = 73
   294  	SQLITE_INDEX_CONSTRAINT_LT            = 16
   295  	SQLITE_INDEX_CONSTRAINT_MATCH         = 64
   296  	SQLITE_INDEX_CONSTRAINT_NE            = 68
   297  	SQLITE_INDEX_CONSTRAINT_OFFSET        = 74
   298  	SQLITE_INDEX_CONSTRAINT_REGEXP        = 67
   299  	SQLITE_INDEX_SCAN_UNIQUE              = 1
   300  	SQLITE_INNOCUOUS                      = 0x000200000
   301  	SQLITE_INSERT                         = 18
   302  	SQLITE_INTEGER                        = 1
   303  	SQLITE_INTERNAL                       = 2
   304  	SQLITE_INTERRUPT                      = 9
   305  	SQLITE_IOCAP_ATOMIC                   = 0x00000001
   306  	SQLITE_IOCAP_ATOMIC16K                = 0x00000040
   307  	SQLITE_IOCAP_ATOMIC1K                 = 0x00000004
   308  	SQLITE_IOCAP_ATOMIC2K                 = 0x00000008
   309  	SQLITE_IOCAP_ATOMIC32K                = 0x00000080
   310  	SQLITE_IOCAP_ATOMIC4K                 = 0x00000010
   311  	SQLITE_IOCAP_ATOMIC512                = 0x00000002
   312  	SQLITE_IOCAP_ATOMIC64K                = 0x00000100
   313  	SQLITE_IOCAP_ATOMIC8K                 = 0x00000020
   314  	SQLITE_IOCAP_BATCH_ATOMIC             = 0x00004000
   315  	SQLITE_IOCAP_IMMUTABLE                = 0x00002000
   316  	SQLITE_IOCAP_POWERSAFE_OVERWRITE      = 0x00001000
   317  	SQLITE_IOCAP_SAFE_APPEND              = 0x00000200
   318  	SQLITE_IOCAP_SEQUENTIAL               = 0x00000400
   319  	SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN    = 0x00000800
   320  	SQLITE_IOERR                          = 10
   321  	SQLITE_IOERR_ACCESS                   = 3338
   322  	SQLITE_IOERR_AUTH                     = 7178
   323  	SQLITE_IOERR_BEGIN_ATOMIC             = 7434
   324  	SQLITE_IOERR_BLOCKED                  = 2826
   325  	SQLITE_IOERR_CHECKRESERVEDLOCK        = 3594
   326  	SQLITE_IOERR_CLOSE                    = 4106
   327  	SQLITE_IOERR_COMMIT_ATOMIC            = 7690
   328  	SQLITE_IOERR_CONVPATH                 = 6666
   329  	SQLITE_IOERR_CORRUPTFS                = 8458
   330  	SQLITE_IOERR_DATA                     = 8202
   331  	SQLITE_IOERR_DELETE                   = 2570
   332  	SQLITE_IOERR_DELETE_NOENT             = 5898
   333  	SQLITE_IOERR_DIR_CLOSE                = 4362
   334  	SQLITE_IOERR_DIR_FSYNC                = 1290
   335  	SQLITE_IOERR_FSTAT                    = 1802
   336  	SQLITE_IOERR_FSYNC                    = 1034
   337  	SQLITE_IOERR_GETTEMPPATH              = 6410
   338  	SQLITE_IOERR_LOCK                     = 3850
   339  	SQLITE_IOERR_MMAP                     = 6154
   340  	SQLITE_IOERR_NOMEM                    = 3082
   341  	SQLITE_IOERR_RDLOCK                   = 2314
   342  	SQLITE_IOERR_READ                     = 266
   343  	SQLITE_IOERR_ROLLBACK_ATOMIC          = 7946
   344  	SQLITE_IOERR_SEEK                     = 5642
   345  	SQLITE_IOERR_SHMLOCK                  = 5130
   346  	SQLITE_IOERR_SHMMAP                   = 5386
   347  	SQLITE_IOERR_SHMOPEN                  = 4618
   348  	SQLITE_IOERR_SHMSIZE                  = 4874
   349  	SQLITE_IOERR_SHORT_READ               = 522
   350  	SQLITE_IOERR_TRUNCATE                 = 1546
   351  	SQLITE_IOERR_UNLOCK                   = 2058
   352  	SQLITE_IOERR_VNODE                    = 6922
   353  	SQLITE_IOERR_WRITE                    = 778
   354  	SQLITE_LAST_ERRNO                     = 4
   355  	SQLITE_LIKE_DOESNT_MATCH_BLOBS        = 1
   356  	SQLITE_LIMIT_ATTACHED                 = 7
   357  	SQLITE_LIMIT_COLUMN                   = 2
   358  	SQLITE_LIMIT_COMPOUND_SELECT          = 4
   359  	SQLITE_LIMIT_EXPR_DEPTH               = 3
   360  	SQLITE_LIMIT_FUNCTION_ARG             = 6
   361  	SQLITE_LIMIT_LENGTH                   = 0
   362  	SQLITE_LIMIT_LIKE_PATTERN_LENGTH      = 8
   363  	SQLITE_LIMIT_SQL_LENGTH               = 1
   364  	SQLITE_LIMIT_TRIGGER_DEPTH            = 10
   365  	SQLITE_LIMIT_VARIABLE_NUMBER          = 9
   366  	SQLITE_LIMIT_VDBE_OP                  = 5
   367  	SQLITE_LIMIT_WORKER_THREADS           = 11
   368  	SQLITE_LOCKED                         = 6
   369  	SQLITE_LOCKED_SHAREDCACHE             = 262
   370  	SQLITE_LOCKED_VTAB                    = 518
   371  	SQLITE_LOCK_EXCLUSIVE                 = 4
   372  	SQLITE_LOCK_NONE                      = 0
   373  	SQLITE_LOCK_PENDING                   = 3
   374  	SQLITE_LOCK_RESERVED                  = 2
   375  	SQLITE_LOCK_SHARED                    = 1
   376  	SQLITE_MISMATCH                       = 20
   377  	SQLITE_MISUSE                         = 21
   378  	SQLITE_MUTEX_APPDEF                   = 1
   379  	SQLITE_MUTEX_FAST                     = 0
   380  	SQLITE_MUTEX_NOOP                     = 1
   381  	SQLITE_MUTEX_RECURSIVE                = 1
   382  	SQLITE_MUTEX_STATIC_APP1              = 8
   383  	SQLITE_MUTEX_STATIC_APP2              = 9
   384  	SQLITE_MUTEX_STATIC_APP3              = 10
   385  	SQLITE_MUTEX_STATIC_LRU               = 6
   386  	SQLITE_MUTEX_STATIC_LRU2              = 7
   387  	SQLITE_MUTEX_STATIC_MAIN              = 2
   388  	SQLITE_MUTEX_STATIC_MASTER            = 2
   389  	SQLITE_MUTEX_STATIC_MEM               = 3
   390  	SQLITE_MUTEX_STATIC_MEM2              = 4
   391  	SQLITE_MUTEX_STATIC_OPEN              = 4
   392  	SQLITE_MUTEX_STATIC_PMEM              = 7
   393  	SQLITE_MUTEX_STATIC_PRNG              = 5
   394  	SQLITE_MUTEX_STATIC_VFS1              = 11
   395  	SQLITE_MUTEX_STATIC_VFS2              = 12
   396  	SQLITE_MUTEX_STATIC_VFS3              = 13
   397  	SQLITE_NOLFS                          = 22
   398  	SQLITE_NOMEM                          = 7
   399  	SQLITE_NOTADB                         = 26
   400  	SQLITE_NOTFOUND                       = 12
   401  	SQLITE_NOTICE                         = 27
   402  	SQLITE_NOTICE_RECOVER_ROLLBACK        = 539
   403  	SQLITE_NOTICE_RECOVER_WAL             = 283
   404  	SQLITE_NULL                           = 5
   405  	SQLITE_OK                             = 0
   406  	SQLITE_OK_LOAD_PERMANENTLY            = 256
   407  	SQLITE_OK_SYMLINK                     = 512
   408  	SQLITE_OPEN_AUTOPROXY                 = 0x00000020
   409  	SQLITE_OPEN_CREATE                    = 0x00000004
   410  	SQLITE_OPEN_DELETEONCLOSE             = 0x00000008
   411  	SQLITE_OPEN_EXCLUSIVE                 = 0x00000010
   412  	SQLITE_OPEN_EXRESCODE                 = 0x02000000
   413  	SQLITE_OPEN_FULLMUTEX                 = 0x00010000
   414  	SQLITE_OPEN_MAIN_DB                   = 0x00000100
   415  	SQLITE_OPEN_MAIN_JOURNAL              = 0x00000800
   416  	SQLITE_OPEN_MASTER_JOURNAL            = 0x00004000
   417  	SQLITE_OPEN_MEMORY                    = 0x00000080
   418  	SQLITE_OPEN_NOFOLLOW                  = 0x01000000
   419  	SQLITE_OPEN_NOMUTEX                   = 0x00008000
   420  	SQLITE_OPEN_PRIVATECACHE              = 0x00040000
   421  	SQLITE_OPEN_READONLY                  = 0x00000001
   422  	SQLITE_OPEN_READWRITE                 = 0x00000002
   423  	SQLITE_OPEN_SHAREDCACHE               = 0x00020000
   424  	SQLITE_OPEN_SUBJOURNAL                = 0x00002000
   425  	SQLITE_OPEN_SUPER_JOURNAL             = 0x00004000
   426  	SQLITE_OPEN_TEMP_DB                   = 0x00000200
   427  	SQLITE_OPEN_TEMP_JOURNAL              = 0x00001000
   428  	SQLITE_OPEN_TRANSIENT_DB              = 0x00000400
   429  	SQLITE_OPEN_URI                       = 0x00000040
   430  	SQLITE_OPEN_WAL                       = 0x00080000
   431  	SQLITE_OS_UNIX                        = 1
   432  	SQLITE_PERM                           = 3
   433  	SQLITE_PRAGMA                         = 19
   434  	SQLITE_PREPARE_NORMALIZE              = 0x02
   435  	SQLITE_PREPARE_NO_VTAB                = 0x04
   436  	SQLITE_PREPARE_PERSISTENT             = 0x01
   437  	SQLITE_PROTOCOL                       = 15
   438  	SQLITE_RANGE                          = 25
   439  	SQLITE_READ                           = 20
   440  	SQLITE_READONLY                       = 8
   441  	SQLITE_READONLY_CANTINIT              = 1288
   442  	SQLITE_READONLY_CANTLOCK              = 520
   443  	SQLITE_READONLY_DBMOVED               = 1032
   444  	SQLITE_READONLY_DIRECTORY             = 1544
   445  	SQLITE_READONLY_RECOVERY              = 264
   446  	SQLITE_READONLY_ROLLBACK              = 776
   447  	SQLITE_RECURSIVE                      = 33
   448  	SQLITE_REINDEX                        = 27
   449  	SQLITE_REPLACE                        = 5
   450  	SQLITE_ROLLBACK                       = 1
   451  	SQLITE_ROW                            = 100
   452  	SQLITE_SAVEPOINT                      = 32
   453  	SQLITE_SCANSTAT_EST                   = 2
   454  	SQLITE_SCANSTAT_EXPLAIN               = 4
   455  	SQLITE_SCANSTAT_NAME                  = 3
   456  	SQLITE_SCANSTAT_NLOOP                 = 0
   457  	SQLITE_SCANSTAT_NVISIT                = 1
   458  	SQLITE_SCANSTAT_SELECTID              = 5
   459  	SQLITE_SCHEMA                         = 17
   460  	SQLITE_SELECT                         = 21
   461  	SQLITE_SERIALIZE_NOCOPY               = 0x001
   462  	SQLITE_SESSION_CONFIG_STRMSIZE        = 1
   463  	SQLITE_SESSION_OBJCONFIG_SIZE         = 1
   464  	SQLITE_SET_LOCKPROXYFILE              = 3
   465  	SQLITE_SHM_EXCLUSIVE                  = 8
   466  	SQLITE_SHM_LOCK                       = 2
   467  	SQLITE_SHM_NLOCK                      = 8
   468  	SQLITE_SHM_SHARED                     = 4
   469  	SQLITE_SHM_UNLOCK                     = 1
   470  	SQLITE_SOUNDEX                        = 1
   471  	SQLITE_SOURCE_ID                      = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8"
   472  	SQLITE_STATUS_MALLOC_COUNT            = 9
   473  	SQLITE_STATUS_MALLOC_SIZE             = 5
   474  	SQLITE_STATUS_MEMORY_USED             = 0
   475  	SQLITE_STATUS_PAGECACHE_OVERFLOW      = 2
   476  	SQLITE_STATUS_PAGECACHE_SIZE          = 7
   477  	SQLITE_STATUS_PAGECACHE_USED          = 1
   478  	SQLITE_STATUS_PARSER_STACK            = 6
   479  	SQLITE_STATUS_SCRATCH_OVERFLOW        = 4
   480  	SQLITE_STATUS_SCRATCH_SIZE            = 8
   481  	SQLITE_STATUS_SCRATCH_USED            = 3
   482  	SQLITE_STDCALL                        = 0
   483  	SQLITE_STMTSTATUS_AUTOINDEX           = 3
   484  	SQLITE_STMTSTATUS_FILTER_HIT          = 8
   485  	SQLITE_STMTSTATUS_FILTER_MISS         = 7
   486  	SQLITE_STMTSTATUS_FULLSCAN_STEP       = 1
   487  	SQLITE_STMTSTATUS_MEMUSED             = 99
   488  	SQLITE_STMTSTATUS_REPREPARE           = 5
   489  	SQLITE_STMTSTATUS_RUN                 = 6
   490  	SQLITE_STMTSTATUS_SORT                = 2
   491  	SQLITE_STMTSTATUS_VM_STEP             = 4
   492  	SQLITE_SUBTYPE                        = 0x000100000
   493  	SQLITE_SYNC_DATAONLY                  = 0x00010
   494  	SQLITE_SYNC_FULL                      = 0x00003
   495  	SQLITE_SYNC_NORMAL                    = 0x00002
   496  	SQLITE_SYSAPI                         = 0
   497  	SQLITE_TESTCTRL_ALWAYS                = 13
   498  	SQLITE_TESTCTRL_ASSERT                = 12
   499  	SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS   = 10
   500  	SQLITE_TESTCTRL_BITVEC_TEST           = 8
   501  	SQLITE_TESTCTRL_BYTEORDER             = 22
   502  	SQLITE_TESTCTRL_EXPLAIN_STMT          = 19
   503  	SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS   = 29
   504  	SQLITE_TESTCTRL_FAULT_INSTALL         = 9
   505  	SQLITE_TESTCTRL_FIRST                 = 5
   506  	SQLITE_TESTCTRL_IMPOSTER              = 25
   507  	SQLITE_TESTCTRL_INTERNAL_FUNCTIONS    = 17
   508  	SQLITE_TESTCTRL_ISINIT                = 23
   509  	SQLITE_TESTCTRL_ISKEYWORD             = 16
   510  	SQLITE_TESTCTRL_LAST                  = 33
   511  	SQLITE_TESTCTRL_LOCALTIME_FAULT       = 18
   512  	SQLITE_TESTCTRL_LOGEST                = 33
   513  	SQLITE_TESTCTRL_NEVER_CORRUPT         = 20
   514  	SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD  = 19
   515  	SQLITE_TESTCTRL_OPTIMIZATIONS         = 15
   516  	SQLITE_TESTCTRL_PARSER_COVERAGE       = 26
   517  	SQLITE_TESTCTRL_PENDING_BYTE          = 11
   518  	SQLITE_TESTCTRL_PRNG_RESET            = 7
   519  	SQLITE_TESTCTRL_PRNG_RESTORE          = 6
   520  	SQLITE_TESTCTRL_PRNG_SAVE             = 5
   521  	SQLITE_TESTCTRL_PRNG_SEED             = 28
   522  	SQLITE_TESTCTRL_RESERVE               = 14
   523  	SQLITE_TESTCTRL_RESULT_INTREAL        = 27
   524  	SQLITE_TESTCTRL_SCRATCHMALLOC         = 17
   525  	SQLITE_TESTCTRL_SEEK_COUNT            = 30
   526  	SQLITE_TESTCTRL_SORTER_MMAP           = 24
   527  	SQLITE_TESTCTRL_TRACEFLAGS            = 31
   528  	SQLITE_TESTCTRL_TUNE                  = 32
   529  	SQLITE_TESTCTRL_VDBE_COVERAGE         = 21
   530  	SQLITE_TEXT                           = 3
   531  	SQLITE_THREADSAFE                     = 1
   532  	SQLITE_TOOBIG                         = 18
   533  	SQLITE_TRACE_CLOSE                    = 0x08
   534  	SQLITE_TRACE_PROFILE                  = 0x02
   535  	SQLITE_TRACE_ROW                      = 0x04
   536  	SQLITE_TRACE_STMT                     = 0x01
   537  	SQLITE_TRANSACTION                    = 22
   538  	SQLITE_TXN_NONE                       = 0
   539  	SQLITE_TXN_READ                       = 1
   540  	SQLITE_TXN_WRITE                      = 2
   541  	SQLITE_UPDATE                         = 23
   542  	SQLITE_UTF16                          = 4
   543  	SQLITE_UTF16BE                        = 3
   544  	SQLITE_UTF16LE                        = 2
   545  	SQLITE_UTF16_ALIGNED                  = 8
   546  	SQLITE_UTF8                           = 1
   547  	SQLITE_VERSION                        = "3.39.3"
   548  	SQLITE_VERSION_NUMBER                 = 3039003
   549  	SQLITE_VTAB_CONSTRAINT_SUPPORT        = 1
   550  	SQLITE_VTAB_DIRECTONLY                = 3
   551  	SQLITE_VTAB_INNOCUOUS                 = 2
   552  	SQLITE_WARNING                        = 28
   553  	SQLITE_WARNING_AUTOINDEX              = 284
   554  	SQLITE_WIN32_DATA_DIRECTORY_TYPE      = 1
   555  	SQLITE_WIN32_TEMP_DIRECTORY_TYPE      = 2
   556  	STDERR_FILENO                         = 2
   557  	STDIN_FILENO                          = 0
   558  	STDOUT_FILENO                         = 1
   559  	TMP_MAX                               = 238328
   560  	WCONTINUED                            = 8
   561  	WEXITED                               = 4
   562  	WNOHANG                               = 1
   563  	WNOWAIT                               = 0x01000000
   564  	WSTOPPED                              = 2
   565  	WUNTRACED                             = 2
   566  	W_OK                                  = 2
   567  	X_OK                                  = 1
   568  	X_ALLOCA_H                            = 1
   569  	X_ANSI_STDARG_H_                      = 0
   570  	X_ASSERT_H                            = 1
   571  	X_ATFILE_SOURCE                       = 1
   572  	X_BITS_BYTESWAP_H                     = 1
   573  	X_BITS_ENDIANNESS_H                   = 1
   574  	X_BITS_ENDIAN_H                       = 1
   575  	X_BITS_FLOATN_COMMON_H                = 0
   576  	X_BITS_FLOATN_H                       = 0
   577  	X_BITS_POSIX_OPT_H                    = 1
   578  	X_BITS_PTHREADTYPES_ARCH_H            = 1
   579  	X_BITS_PTHREADTYPES_COMMON_H          = 1
   580  	X_BITS_STDINT_INTN_H                  = 1
   581  	X_BITS_STDIO_LIM_H                    = 1
   582  	X_BITS_TIME64_H                       = 1
   583  	X_BITS_TYPESIZES_H                    = 1
   584  	X_BITS_TYPES_H                        = 1
   585  	X_BITS_TYPES_LOCALE_T_H               = 1
   586  	X_BITS_TYPES___LOCALE_T_H             = 1
   587  	X_BITS_UINTN_IDENTITY_H               = 1
   588  	X_BSD_SIZE_T_                         = 0
   589  	X_BSD_SIZE_T_DEFINED_                 = 0
   590  	X_CTYPE_H                             = 1
   591  	X_DEFAULT_SOURCE                      = 1
   592  	X_ENDIAN_H                            = 1
   593  	X_FEATURES_H                          = 1
   594  	X_FILE_OFFSET_BITS                    = 64
   595  	X_FTS5_H                              = 0
   596  	X_GCC_SIZE_T                          = 0
   597  	X_GCC_WCHAR_T                         = 0
   598  	X_GETOPT_CORE_H                       = 1
   599  	X_GETOPT_POSIX_H                      = 1
   600  	X_IOFBF                               = 0
   601  	X_IOLBF                               = 1
   602  	X_IONBF                               = 2
   603  	X_IO_EOF_SEEN                         = 0x0010
   604  	X_IO_ERR_SEEN                         = 0x0020
   605  	X_IO_USER_LOCK                        = 0x8000
   606  	X_LFS64_ASYNCHRONOUS_IO               = 1
   607  	X_LFS64_LARGEFILE                     = 1
   608  	X_LFS64_STDIO                         = 1
   609  	X_LFS_ASYNCHRONOUS_IO                 = 1
   610  	X_LFS_LARGEFILE                       = 1
   611  	X_LP64                                = 1
   612  	X_POSIX2_CHAR_TERM                    = 200809
   613  	X_POSIX2_C_BIND                       = 200809
   614  	X_POSIX2_C_DEV                        = 200809
   615  	X_POSIX2_C_VERSION                    = 200809
   616  	X_POSIX2_LOCALEDEF                    = 200809
   617  	X_POSIX2_SW_DEV                       = 200809
   618  	X_POSIX2_VERSION                      = 200809
   619  	X_POSIX_ADVISORY_INFO                 = 200809
   620  	X_POSIX_ASYNCHRONOUS_IO               = 200809
   621  	X_POSIX_ASYNC_IO                      = 1
   622  	X_POSIX_BARRIERS                      = 200809
   623  	X_POSIX_CHOWN_RESTRICTED              = 0
   624  	X_POSIX_CLOCK_SELECTION               = 200809
   625  	X_POSIX_CPUTIME                       = 0
   626  	X_POSIX_C_SOURCE                      = 200809
   627  	X_POSIX_FSYNC                         = 200809
   628  	X_POSIX_IPV6                          = 200809
   629  	X_POSIX_JOB_CONTROL                   = 1
   630  	X_POSIX_MAPPED_FILES                  = 200809
   631  	X_POSIX_MEMLOCK                       = 200809
   632  	X_POSIX_MEMLOCK_RANGE                 = 200809
   633  	X_POSIX_MEMORY_PROTECTION             = 200809
   634  	X_POSIX_MESSAGE_PASSING               = 200809
   635  	X_POSIX_MONOTONIC_CLOCK               = 0
   636  	X_POSIX_NO_TRUNC                      = 1
   637  	X_POSIX_PRIORITIZED_IO                = 200809
   638  	X_POSIX_PRIORITY_SCHEDULING           = 200809
   639  	X_POSIX_RAW_SOCKETS                   = 200809
   640  	X_POSIX_READER_WRITER_LOCKS           = 200809
   641  	X_POSIX_REALTIME_SIGNALS              = 200809
   642  	X_POSIX_REENTRANT_FUNCTIONS           = 1
   643  	X_POSIX_REGEXP                        = 1
   644  	X_POSIX_SAVED_IDS                     = 1
   645  	X_POSIX_SEMAPHORES                    = 200809
   646  	X_POSIX_SHARED_MEMORY_OBJECTS         = 200809
   647  	X_POSIX_SHELL                         = 1
   648  	X_POSIX_SOURCE                        = 1
   649  	X_POSIX_SPAWN                         = 200809
   650  	X_POSIX_SPIN_LOCKS                    = 200809
   651  	X_POSIX_SPORADIC_SERVER               = -1
   652  	X_POSIX_SYNCHRONIZED_IO               = 200809
   653  	X_POSIX_THREADS                       = 200809
   654  	X_POSIX_THREAD_ATTR_STACKADDR         = 200809
   655  	X_POSIX_THREAD_ATTR_STACKSIZE         = 200809
   656  	X_POSIX_THREAD_CPUTIME                = 0
   657  	X_POSIX_THREAD_PRIORITY_SCHEDULING    = 200809
   658  	X_POSIX_THREAD_PRIO_INHERIT           = 200809
   659  	X_POSIX_THREAD_PRIO_PROTECT           = 200809
   660  	X_POSIX_THREAD_PROCESS_SHARED         = 200809
   661  	X_POSIX_THREAD_ROBUST_PRIO_INHERIT    = 200809
   662  	X_POSIX_THREAD_ROBUST_PRIO_PROTECT    = -1
   663  	X_POSIX_THREAD_SAFE_FUNCTIONS         = 200809
   664  	X_POSIX_THREAD_SPORADIC_SERVER        = -1
   665  	X_POSIX_TIMEOUTS                      = 200809
   666  	X_POSIX_TIMERS                        = 200809
   667  	X_POSIX_TRACE                         = -1
   668  	X_POSIX_TRACE_EVENT_FILTER            = -1
   669  	X_POSIX_TRACE_INHERIT                 = -1
   670  	X_POSIX_TRACE_LOG                     = -1
   671  	X_POSIX_TYPED_MEMORY_OBJECTS          = -1
   672  	X_POSIX_V6_ILP32_OFF32                = -1
   673  	X_POSIX_V6_ILP32_OFFBIG               = -1
   674  	X_POSIX_V6_LP64_OFF64                 = 1
   675  	X_POSIX_V6_LPBIG_OFFBIG               = -1
   676  	X_POSIX_V7_ILP32_OFF32                = -1
   677  	X_POSIX_V7_ILP32_OFFBIG               = -1
   678  	X_POSIX_V7_LP64_OFF64                 = 1
   679  	X_POSIX_V7_LPBIG_OFFBIG               = -1
   680  	X_POSIX_VDISABLE                      = 0
   681  	X_POSIX_VERSION                       = 200809
   682  	X_RWLOCK_INTERNAL_H                   = 0
   683  	X_SIZET_                              = 0
   684  	X_SIZE_T                              = 0
   685  	X_SIZE_T_                             = 0
   686  	X_SIZE_T_DECLARED                     = 0
   687  	X_SIZE_T_DEFINED                      = 0
   688  	X_SIZE_T_DEFINED_                     = 0
   689  	X_SQLITE3RTREE_H_                     = 0
   690  	X_STDARG_H                            = 0
   691  	X_STDC_PREDEF_H                       = 1
   692  	X_STDIO_H                             = 1
   693  	X_STDLIB_H                            = 1
   694  	X_STRINGS_H                           = 1
   695  	X_STRING_H                            = 1
   696  	X_STRUCT_TIMESPEC                     = 1
   697  	X_SYS_CDEFS_H                         = 1
   698  	X_SYS_SELECT_H                        = 1
   699  	X_SYS_SIZE_T_H                        = 0
   700  	X_SYS_TYPES_H                         = 1
   701  	X_THREAD_MUTEX_INTERNAL_H             = 1
   702  	X_THREAD_SHARED_TYPES_H               = 1
   703  	X_T_SIZE                              = 0
   704  	X_T_SIZE_                             = 0
   705  	X_T_WCHAR                             = 0
   706  	X_T_WCHAR_                            = 0
   707  	X_UNISTD_H                            = 1
   708  	X_VA_LIST                             = 0
   709  	X_VA_LIST_                            = 0
   710  	X_VA_LIST_DEFINED                     = 0
   711  	X_VA_LIST_T_H                         = 0
   712  	X_WCHAR_T                             = 0
   713  	X_WCHAR_T_                            = 0
   714  	X_WCHAR_T_DECLARED                    = 0
   715  	X_WCHAR_T_DEFINED                     = 0
   716  	X_WCHAR_T_DEFINED_                    = 0
   717  	X_WCHAR_T_H                           = 0
   718  	X_XBS5_ILP32_OFF32                    = -1
   719  	X_XBS5_ILP32_OFFBIG                   = -1
   720  	X_XBS5_LP64_OFF64                     = 1
   721  	X_XBS5_LPBIG_OFFBIG                   = -1
   722  	X_XOPEN_ENH_I18N                      = 1
   723  	X_XOPEN_LEGACY                        = 1
   724  	X_XOPEN_REALTIME                      = 1
   725  	X_XOPEN_REALTIME_THREADS              = 1
   726  	X_XOPEN_SHM                           = 1
   727  	X_XOPEN_UNIX                          = 1
   728  	X_XOPEN_VERSION                       = 700
   729  	X_XOPEN_XCU_VERSION                   = 4
   730  	X_XOPEN_XPG2                          = 1
   731  	X_XOPEN_XPG3                          = 1
   732  	X_XOPEN_XPG4                          = 1
   733  	Linux                                 = 1
   734  	Unix                                  = 1
   735  )
   736  
   737  const (
   738  	_PC_LINK_MAX           = 0
   739  	_PC_MAX_CANON          = 1
   740  	_PC_MAX_INPUT          = 2
   741  	_PC_NAME_MAX           = 3
   742  	_PC_PATH_MAX           = 4
   743  	_PC_PIPE_BUF           = 5
   744  	_PC_CHOWN_RESTRICTED   = 6
   745  	_PC_NO_TRUNC           = 7
   746  	_PC_VDISABLE           = 8
   747  	_PC_SYNC_IO            = 9
   748  	_PC_ASYNC_IO           = 10
   749  	_PC_PRIO_IO            = 11
   750  	_PC_SOCK_MAXBUF        = 12
   751  	_PC_FILESIZEBITS       = 13
   752  	_PC_REC_INCR_XFER_SIZE = 14
   753  	_PC_REC_MAX_XFER_SIZE  = 15
   754  	_PC_REC_MIN_XFER_SIZE  = 16
   755  	_PC_REC_XFER_ALIGN     = 17
   756  	_PC_ALLOC_SIZE_MIN     = 18
   757  	_PC_SYMLINK_MAX        = 19
   758  	_PC_2_SYMLINKS         = 20
   759  )
   760  
   761  const (
   762  	_CS_PATH = 0
   763  
   764  	_CS_V6_WIDTH_RESTRICTED_ENVS = 1
   765  
   766  	_CS_GNU_LIBC_VERSION       = 2
   767  	_CS_GNU_LIBPTHREAD_VERSION = 3
   768  
   769  	_CS_V5_WIDTH_RESTRICTED_ENVS = 4
   770  
   771  	_CS_V7_WIDTH_RESTRICTED_ENVS = 5
   772  
   773  	_CS_LFS_CFLAGS      = 1000
   774  	_CS_LFS_LDFLAGS     = 1001
   775  	_CS_LFS_LIBS        = 1002
   776  	_CS_LFS_LINTFLAGS   = 1003
   777  	_CS_LFS64_CFLAGS    = 1004
   778  	_CS_LFS64_LDFLAGS   = 1005
   779  	_CS_LFS64_LIBS      = 1006
   780  	_CS_LFS64_LINTFLAGS = 1007
   781  
   782  	_CS_XBS5_ILP32_OFF32_CFLAGS     = 1100
   783  	_CS_XBS5_ILP32_OFF32_LDFLAGS    = 1101
   784  	_CS_XBS5_ILP32_OFF32_LIBS       = 1102
   785  	_CS_XBS5_ILP32_OFF32_LINTFLAGS  = 1103
   786  	_CS_XBS5_ILP32_OFFBIG_CFLAGS    = 1104
   787  	_CS_XBS5_ILP32_OFFBIG_LDFLAGS   = 1105
   788  	_CS_XBS5_ILP32_OFFBIG_LIBS      = 1106
   789  	_CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107
   790  	_CS_XBS5_LP64_OFF64_CFLAGS      = 1108
   791  	_CS_XBS5_LP64_OFF64_LDFLAGS     = 1109
   792  	_CS_XBS5_LP64_OFF64_LIBS        = 1110
   793  	_CS_XBS5_LP64_OFF64_LINTFLAGS   = 1111
   794  	_CS_XBS5_LPBIG_OFFBIG_CFLAGS    = 1112
   795  	_CS_XBS5_LPBIG_OFFBIG_LDFLAGS   = 1113
   796  	_CS_XBS5_LPBIG_OFFBIG_LIBS      = 1114
   797  	_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115
   798  
   799  	_CS_POSIX_V6_ILP32_OFF32_CFLAGS     = 1116
   800  	_CS_POSIX_V6_ILP32_OFF32_LDFLAGS    = 1117
   801  	_CS_POSIX_V6_ILP32_OFF32_LIBS       = 1118
   802  	_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS  = 1119
   803  	_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS    = 1120
   804  	_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS   = 1121
   805  	_CS_POSIX_V6_ILP32_OFFBIG_LIBS      = 1122
   806  	_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
   807  	_CS_POSIX_V6_LP64_OFF64_CFLAGS      = 1124
   808  	_CS_POSIX_V6_LP64_OFF64_LDFLAGS     = 1125
   809  	_CS_POSIX_V6_LP64_OFF64_LIBS        = 1126
   810  	_CS_POSIX_V6_LP64_OFF64_LINTFLAGS   = 1127
   811  	_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS    = 1128
   812  	_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS   = 1129
   813  	_CS_POSIX_V6_LPBIG_OFFBIG_LIBS      = 1130
   814  	_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
   815  
   816  	_CS_POSIX_V7_ILP32_OFF32_CFLAGS     = 1132
   817  	_CS_POSIX_V7_ILP32_OFF32_LDFLAGS    = 1133
   818  	_CS_POSIX_V7_ILP32_OFF32_LIBS       = 1134
   819  	_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS  = 1135
   820  	_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS    = 1136
   821  	_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS   = 1137
   822  	_CS_POSIX_V7_ILP32_OFFBIG_LIBS      = 1138
   823  	_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
   824  	_CS_POSIX_V7_LP64_OFF64_CFLAGS      = 1140
   825  	_CS_POSIX_V7_LP64_OFF64_LDFLAGS     = 1141
   826  	_CS_POSIX_V7_LP64_OFF64_LIBS        = 1142
   827  	_CS_POSIX_V7_LP64_OFF64_LINTFLAGS   = 1143
   828  	_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS    = 1144
   829  	_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS   = 1145
   830  	_CS_POSIX_V7_LPBIG_OFFBIG_LIBS      = 1146
   831  	_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
   832  
   833  	_CS_V6_ENV = 1148
   834  	_CS_V7_ENV = 1149
   835  )
   836  
   837  const (
   838  	_SC_ARG_MAX               = 0
   839  	_SC_CHILD_MAX             = 1
   840  	_SC_CLK_TCK               = 2
   841  	_SC_NGROUPS_MAX           = 3
   842  	_SC_OPEN_MAX              = 4
   843  	_SC_STREAM_MAX            = 5
   844  	_SC_TZNAME_MAX            = 6
   845  	_SC_JOB_CONTROL           = 7
   846  	_SC_SAVED_IDS             = 8
   847  	_SC_REALTIME_SIGNALS      = 9
   848  	_SC_PRIORITY_SCHEDULING   = 10
   849  	_SC_TIMERS                = 11
   850  	_SC_ASYNCHRONOUS_IO       = 12
   851  	_SC_PRIORITIZED_IO        = 13
   852  	_SC_SYNCHRONIZED_IO       = 14
   853  	_SC_FSYNC                 = 15
   854  	_SC_MAPPED_FILES          = 16
   855  	_SC_MEMLOCK               = 17
   856  	_SC_MEMLOCK_RANGE         = 18
   857  	_SC_MEMORY_PROTECTION     = 19
   858  	_SC_MESSAGE_PASSING       = 20
   859  	_SC_SEMAPHORES            = 21
   860  	_SC_SHARED_MEMORY_OBJECTS = 22
   861  	_SC_AIO_LISTIO_MAX        = 23
   862  	_SC_AIO_MAX               = 24
   863  	_SC_AIO_PRIO_DELTA_MAX    = 25
   864  	_SC_DELAYTIMER_MAX        = 26
   865  	_SC_MQ_OPEN_MAX           = 27
   866  	_SC_MQ_PRIO_MAX           = 28
   867  	_SC_VERSION               = 29
   868  	_SC_PAGESIZE              = 30
   869  	_SC_RTSIG_MAX             = 31
   870  	_SC_SEM_NSEMS_MAX         = 32
   871  	_SC_SEM_VALUE_MAX         = 33
   872  	_SC_SIGQUEUE_MAX          = 34
   873  	_SC_TIMER_MAX             = 35
   874  
   875  	_SC_BC_BASE_MAX        = 36
   876  	_SC_BC_DIM_MAX         = 37
   877  	_SC_BC_SCALE_MAX       = 38
   878  	_SC_BC_STRING_MAX      = 39
   879  	_SC_COLL_WEIGHTS_MAX   = 40
   880  	_SC_EQUIV_CLASS_MAX    = 41
   881  	_SC_EXPR_NEST_MAX      = 42
   882  	_SC_LINE_MAX           = 43
   883  	_SC_RE_DUP_MAX         = 44
   884  	_SC_CHARCLASS_NAME_MAX = 45
   885  
   886  	_SC_2_VERSION   = 46
   887  	_SC_2_C_BIND    = 47
   888  	_SC_2_C_DEV     = 48
   889  	_SC_2_FORT_DEV  = 49
   890  	_SC_2_FORT_RUN  = 50
   891  	_SC_2_SW_DEV    = 51
   892  	_SC_2_LOCALEDEF = 52
   893  
   894  	_SC_PII                 = 53
   895  	_SC_PII_XTI             = 54
   896  	_SC_PII_SOCKET          = 55
   897  	_SC_PII_INTERNET        = 56
   898  	_SC_PII_OSI             = 57
   899  	_SC_POLL                = 58
   900  	_SC_SELECT              = 59
   901  	_SC_UIO_MAXIOV          = 60
   902  	_SC_IOV_MAX             = 60
   903  	_SC_PII_INTERNET_STREAM = 61
   904  	_SC_PII_INTERNET_DGRAM  = 62
   905  	_SC_PII_OSI_COTS        = 63
   906  	_SC_PII_OSI_CLTS        = 64
   907  	_SC_PII_OSI_M           = 65
   908  	_SC_T_IOV_MAX           = 66
   909  
   910  	_SC_THREADS                      = 67
   911  	_SC_THREAD_SAFE_FUNCTIONS        = 68
   912  	_SC_GETGR_R_SIZE_MAX             = 69
   913  	_SC_GETPW_R_SIZE_MAX             = 70
   914  	_SC_LOGIN_NAME_MAX               = 71
   915  	_SC_TTY_NAME_MAX                 = 72
   916  	_SC_THREAD_DESTRUCTOR_ITERATIONS = 73
   917  	_SC_THREAD_KEYS_MAX              = 74
   918  	_SC_THREAD_STACK_MIN             = 75
   919  	_SC_THREAD_THREADS_MAX           = 76
   920  	_SC_THREAD_ATTR_STACKADDR        = 77
   921  	_SC_THREAD_ATTR_STACKSIZE        = 78
   922  	_SC_THREAD_PRIORITY_SCHEDULING   = 79
   923  	_SC_THREAD_PRIO_INHERIT          = 80
   924  	_SC_THREAD_PRIO_PROTECT          = 81
   925  	_SC_THREAD_PROCESS_SHARED        = 82
   926  
   927  	_SC_NPROCESSORS_CONF = 83
   928  	_SC_NPROCESSORS_ONLN = 84
   929  	_SC_PHYS_PAGES       = 85
   930  	_SC_AVPHYS_PAGES     = 86
   931  	_SC_ATEXIT_MAX       = 87
   932  	_SC_PASS_MAX         = 88
   933  
   934  	_SC_XOPEN_VERSION     = 89
   935  	_SC_XOPEN_XCU_VERSION = 90
   936  	_SC_XOPEN_UNIX        = 91
   937  	_SC_XOPEN_CRYPT       = 92
   938  	_SC_XOPEN_ENH_I18N    = 93
   939  	_SC_XOPEN_SHM         = 94
   940  
   941  	_SC_2_CHAR_TERM = 95
   942  	_SC_2_C_VERSION = 96
   943  	_SC_2_UPE       = 97
   944  
   945  	_SC_XOPEN_XPG2 = 98
   946  	_SC_XOPEN_XPG3 = 99
   947  	_SC_XOPEN_XPG4 = 100
   948  
   949  	_SC_CHAR_BIT   = 101
   950  	_SC_CHAR_MAX   = 102
   951  	_SC_CHAR_MIN   = 103
   952  	_SC_INT_MAX    = 104
   953  	_SC_INT_MIN    = 105
   954  	_SC_LONG_BIT   = 106
   955  	_SC_WORD_BIT   = 107
   956  	_SC_MB_LEN_MAX = 108
   957  	_SC_NZERO      = 109
   958  	_SC_SSIZE_MAX  = 110
   959  	_SC_SCHAR_MAX  = 111
   960  	_SC_SCHAR_MIN  = 112
   961  	_SC_SHRT_MAX   = 113
   962  	_SC_SHRT_MIN   = 114
   963  	_SC_UCHAR_MAX  = 115
   964  	_SC_UINT_MAX   = 116
   965  	_SC_ULONG_MAX  = 117
   966  	_SC_USHRT_MAX  = 118
   967  
   968  	_SC_NL_ARGMAX  = 119
   969  	_SC_NL_LANGMAX = 120
   970  	_SC_NL_MSGMAX  = 121
   971  	_SC_NL_NMAX    = 122
   972  	_SC_NL_SETMAX  = 123
   973  	_SC_NL_TEXTMAX = 124
   974  
   975  	_SC_XBS5_ILP32_OFF32  = 125
   976  	_SC_XBS5_ILP32_OFFBIG = 126
   977  	_SC_XBS5_LP64_OFF64   = 127
   978  	_SC_XBS5_LPBIG_OFFBIG = 128
   979  
   980  	_SC_XOPEN_LEGACY           = 129
   981  	_SC_XOPEN_REALTIME         = 130
   982  	_SC_XOPEN_REALTIME_THREADS = 131
   983  
   984  	_SC_ADVISORY_INFO          = 132
   985  	_SC_BARRIERS               = 133
   986  	_SC_BASE                   = 134
   987  	_SC_C_LANG_SUPPORT         = 135
   988  	_SC_C_LANG_SUPPORT_R       = 136
   989  	_SC_CLOCK_SELECTION        = 137
   990  	_SC_CPUTIME                = 138
   991  	_SC_THREAD_CPUTIME         = 139
   992  	_SC_DEVICE_IO              = 140
   993  	_SC_DEVICE_SPECIFIC        = 141
   994  	_SC_DEVICE_SPECIFIC_R      = 142
   995  	_SC_FD_MGMT                = 143
   996  	_SC_FIFO                   = 144
   997  	_SC_PIPE                   = 145
   998  	_SC_FILE_ATTRIBUTES        = 146
   999  	_SC_FILE_LOCKING           = 147
  1000  	_SC_FILE_SYSTEM            = 148
  1001  	_SC_MONOTONIC_CLOCK        = 149
  1002  	_SC_MULTI_PROCESS          = 150
  1003  	_SC_SINGLE_PROCESS         = 151
  1004  	_SC_NETWORKING             = 152
  1005  	_SC_READER_WRITER_LOCKS    = 153
  1006  	_SC_SPIN_LOCKS             = 154
  1007  	_SC_REGEXP                 = 155
  1008  	_SC_REGEX_VERSION          = 156
  1009  	_SC_SHELL                  = 157
  1010  	_SC_SIGNALS                = 158
  1011  	_SC_SPAWN                  = 159
  1012  	_SC_SPORADIC_SERVER        = 160
  1013  	_SC_THREAD_SPORADIC_SERVER = 161
  1014  	_SC_SYSTEM_DATABASE        = 162
  1015  	_SC_SYSTEM_DATABASE_R      = 163
  1016  	_SC_TIMEOUTS               = 164
  1017  	_SC_TYPED_MEMORY_OBJECTS   = 165
  1018  	_SC_USER_GROUPS            = 166
  1019  	_SC_USER_GROUPS_R          = 167
  1020  	_SC_2_PBS                  = 168
  1021  	_SC_2_PBS_ACCOUNTING       = 169
  1022  	_SC_2_PBS_LOCATE           = 170
  1023  	_SC_2_PBS_MESSAGE          = 171
  1024  	_SC_2_PBS_TRACK            = 172
  1025  	_SC_SYMLOOP_MAX            = 173
  1026  	_SC_STREAMS                = 174
  1027  	_SC_2_PBS_CHECKPOINT       = 175
  1028  
  1029  	_SC_V6_ILP32_OFF32  = 176
  1030  	_SC_V6_ILP32_OFFBIG = 177
  1031  	_SC_V6_LP64_OFF64   = 178
  1032  	_SC_V6_LPBIG_OFFBIG = 179
  1033  
  1034  	_SC_HOST_NAME_MAX      = 180
  1035  	_SC_TRACE              = 181
  1036  	_SC_TRACE_EVENT_FILTER = 182
  1037  	_SC_TRACE_INHERIT      = 183
  1038  	_SC_TRACE_LOG          = 184
  1039  
  1040  	_SC_LEVEL1_ICACHE_SIZE     = 185
  1041  	_SC_LEVEL1_ICACHE_ASSOC    = 186
  1042  	_SC_LEVEL1_ICACHE_LINESIZE = 187
  1043  	_SC_LEVEL1_DCACHE_SIZE     = 188
  1044  	_SC_LEVEL1_DCACHE_ASSOC    = 189
  1045  	_SC_LEVEL1_DCACHE_LINESIZE = 190
  1046  	_SC_LEVEL2_CACHE_SIZE      = 191
  1047  	_SC_LEVEL2_CACHE_ASSOC     = 192
  1048  	_SC_LEVEL2_CACHE_LINESIZE  = 193
  1049  	_SC_LEVEL3_CACHE_SIZE      = 194
  1050  	_SC_LEVEL3_CACHE_ASSOC     = 195
  1051  	_SC_LEVEL3_CACHE_LINESIZE  = 196
  1052  	_SC_LEVEL4_CACHE_SIZE      = 197
  1053  	_SC_LEVEL4_CACHE_ASSOC     = 198
  1054  	_SC_LEVEL4_CACHE_LINESIZE  = 199
  1055  
  1056  	_SC_IPV6        = 235
  1057  	_SC_RAW_SOCKETS = 236
  1058  
  1059  	_SC_V7_ILP32_OFF32  = 237
  1060  	_SC_V7_ILP32_OFFBIG = 238
  1061  	_SC_V7_LP64_OFF64   = 239
  1062  	_SC_V7_LPBIG_OFFBIG = 240
  1063  
  1064  	_SC_SS_REPL_MAX = 241
  1065  
  1066  	_SC_TRACE_EVENT_NAME_MAX = 242
  1067  	_SC_TRACE_NAME_MAX       = 243
  1068  	_SC_TRACE_SYS_MAX        = 244
  1069  	_SC_TRACE_USER_EVENT_MAX = 245
  1070  
  1071  	_SC_XOPEN_STREAMS = 246
  1072  
  1073  	_SC_THREAD_ROBUST_PRIO_INHERIT = 247
  1074  	_SC_THREAD_ROBUST_PRIO_PROTECT = 248
  1075  )
  1076  
  1077  const (
  1078  	P_ALL  = 0
  1079  	P_PID  = 1
  1080  	P_PGID = 2
  1081  )
  1082  
  1083  const (
  1084  	_ISupper  = 256
  1085  	_ISlower  = 512
  1086  	_ISalpha  = 1024
  1087  	_ISdigit  = 2048
  1088  	_ISxdigit = 4096
  1089  	_ISspace  = 8192
  1090  	_ISprint  = 16384
  1091  	_ISgraph  = 32768
  1092  	_ISblank  = 1
  1093  	_IScntrl  = 2
  1094  	_ISpunct  = 4
  1095  	_ISalnum  = 8
  1096  )
  1097  
  1098  type ptrdiff_t = int64
  1099  
  1100  type size_t = uint64
  1101  
  1102  type wchar_t = int32
  1103  
  1104  var zHelp = *(*[2263]uint8)(unsafe.Pointer(ts))
  1105  
  1106  type va_list = uintptr
  1107  
  1108  type sqlite_int64 = int64
  1109  type sqlite_uint64 = uint64
  1110  type sqlite3_int64 = sqlite_int64
  1111  type sqlite3_uint64 = sqlite_uint64
  1112  
  1113  type sqlite3_callback = uintptr
  1114  
  1115  type sqlite3_file1 = struct{ pMethods uintptr }
  1116  
  1117  type sqlite3_file = sqlite3_file1
  1118  type sqlite3_io_methods1 = struct {
  1119  	iVersion               int32
  1120  	_                      [4]byte
  1121  	xClose                 uintptr
  1122  	xRead                  uintptr
  1123  	xWrite                 uintptr
  1124  	xTruncate              uintptr
  1125  	xSync                  uintptr
  1126  	xFileSize              uintptr
  1127  	xLock                  uintptr
  1128  	xUnlock                uintptr
  1129  	xCheckReservedLock     uintptr
  1130  	xFileControl           uintptr
  1131  	xSectorSize            uintptr
  1132  	xDeviceCharacteristics uintptr
  1133  	xShmMap                uintptr
  1134  	xShmLock               uintptr
  1135  	xShmBarrier            uintptr
  1136  	xShmUnmap              uintptr
  1137  	xFetch                 uintptr
  1138  	xUnfetch               uintptr
  1139  }
  1140  
  1141  type sqlite3_io_methods = sqlite3_io_methods1
  1142  
  1143  type sqlite3_vfs1 = struct {
  1144  	iVersion          int32
  1145  	szOsFile          int32
  1146  	mxPathname        int32
  1147  	_                 [4]byte
  1148  	pNext             uintptr
  1149  	zName             uintptr
  1150  	pAppData          uintptr
  1151  	xOpen             uintptr
  1152  	xDelete           uintptr
  1153  	xAccess           uintptr
  1154  	xFullPathname     uintptr
  1155  	xDlOpen           uintptr
  1156  	xDlError          uintptr
  1157  	xDlSym            uintptr
  1158  	xDlClose          uintptr
  1159  	xRandomness       uintptr
  1160  	xSleep            uintptr
  1161  	xCurrentTime      uintptr
  1162  	xGetLastError     uintptr
  1163  	xCurrentTimeInt64 uintptr
  1164  	xSetSystemCall    uintptr
  1165  	xGetSystemCall    uintptr
  1166  	xNextSystemCall   uintptr
  1167  }
  1168  
  1169  type sqlite3_vfs = sqlite3_vfs1
  1170  type sqlite3_syscall_ptr = uintptr
  1171  
  1172  type sqlite3_mem_methods1 = struct {
  1173  	xMalloc   uintptr
  1174  	xFree     uintptr
  1175  	xRealloc  uintptr
  1176  	xSize     uintptr
  1177  	xRoundup  uintptr
  1178  	xInit     uintptr
  1179  	xShutdown uintptr
  1180  	pAppData  uintptr
  1181  }
  1182  
  1183  type sqlite3_mem_methods = sqlite3_mem_methods1
  1184  
  1185  type sqlite3_destructor_type = uintptr
  1186  
  1187  type sqlite3_vtab1 = struct {
  1188  	pModule uintptr
  1189  	nRef    int32
  1190  	_       [4]byte
  1191  	zErrMsg uintptr
  1192  }
  1193  
  1194  type sqlite3_vtab = sqlite3_vtab1
  1195  type sqlite3_index_info1 = struct {
  1196  	nConstraint      int32
  1197  	_                [4]byte
  1198  	aConstraint      uintptr
  1199  	nOrderBy         int32
  1200  	_                [4]byte
  1201  	aOrderBy         uintptr
  1202  	aConstraintUsage uintptr
  1203  	idxNum           int32
  1204  	_                [4]byte
  1205  	idxStr           uintptr
  1206  	needToFreeIdxStr int32
  1207  	orderByConsumed  int32
  1208  	estimatedCost    float64
  1209  	estimatedRows    sqlite3_int64
  1210  	idxFlags         int32
  1211  	_                [4]byte
  1212  	colUsed          sqlite3_uint64
  1213  }
  1214  
  1215  type sqlite3_index_info = sqlite3_index_info1
  1216  type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }
  1217  
  1218  type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
  1219  type sqlite3_module1 = struct {
  1220  	iVersion      int32
  1221  	_             [4]byte
  1222  	xCreate       uintptr
  1223  	xConnect      uintptr
  1224  	xBestIndex    uintptr
  1225  	xDisconnect   uintptr
  1226  	xDestroy      uintptr
  1227  	xOpen         uintptr
  1228  	xClose        uintptr
  1229  	xFilter       uintptr
  1230  	xNext         uintptr
  1231  	xEof          uintptr
  1232  	xColumn       uintptr
  1233  	xRowid        uintptr
  1234  	xUpdate       uintptr
  1235  	xBegin        uintptr
  1236  	xSync         uintptr
  1237  	xCommit       uintptr
  1238  	xRollback     uintptr
  1239  	xFindFunction uintptr
  1240  	xRename       uintptr
  1241  	xSavepoint    uintptr
  1242  	xRelease      uintptr
  1243  	xRollbackTo   uintptr
  1244  	xShadowName   uintptr
  1245  }
  1246  
  1247  type sqlite3_module = sqlite3_module1
  1248  
  1249  type sqlite3_index_constraint = struct {
  1250  	iColumn     int32
  1251  	op          uint8
  1252  	usable      uint8
  1253  	_           [2]byte
  1254  	iTermOffset int32
  1255  }
  1256  
  1257  type sqlite3_index_orderby = struct {
  1258  	iColumn int32
  1259  	desc    uint8
  1260  	_       [3]byte
  1261  }
  1262  
  1263  type sqlite3_index_constraint_usage = struct {
  1264  	argvIndex int32
  1265  	omit      uint8
  1266  	_         [3]byte
  1267  }
  1268  
  1269  type sqlite3_mutex_methods1 = struct {
  1270  	xMutexInit    uintptr
  1271  	xMutexEnd     uintptr
  1272  	xMutexAlloc   uintptr
  1273  	xMutexFree    uintptr
  1274  	xMutexEnter   uintptr
  1275  	xMutexTry     uintptr
  1276  	xMutexLeave   uintptr
  1277  	xMutexHeld    uintptr
  1278  	xMutexNotheld uintptr
  1279  }
  1280  
  1281  type sqlite3_mutex_methods = sqlite3_mutex_methods1
  1282  
  1283  type sqlite3_pcache_page1 = struct {
  1284  	pBuf   uintptr
  1285  	pExtra uintptr
  1286  }
  1287  
  1288  type sqlite3_pcache_page = sqlite3_pcache_page1
  1289  
  1290  type sqlite3_pcache_methods21 = struct {
  1291  	iVersion   int32
  1292  	_          [4]byte
  1293  	pArg       uintptr
  1294  	xInit      uintptr
  1295  	xShutdown  uintptr
  1296  	xCreate    uintptr
  1297  	xCachesize uintptr
  1298  	xPagecount uintptr
  1299  	xFetch     uintptr
  1300  	xUnpin     uintptr
  1301  	xRekey     uintptr
  1302  	xTruncate  uintptr
  1303  	xDestroy   uintptr
  1304  	xShrink    uintptr
  1305  }
  1306  
  1307  type sqlite3_pcache_methods2 = sqlite3_pcache_methods21
  1308  
  1309  type sqlite3_pcache_methods1 = struct {
  1310  	pArg       uintptr
  1311  	xInit      uintptr
  1312  	xShutdown  uintptr
  1313  	xCreate    uintptr
  1314  	xCachesize uintptr
  1315  	xPagecount uintptr
  1316  	xFetch     uintptr
  1317  	xUnpin     uintptr
  1318  	xRekey     uintptr
  1319  	xTruncate  uintptr
  1320  	xDestroy   uintptr
  1321  }
  1322  
  1323  type sqlite3_pcache_methods = sqlite3_pcache_methods1
  1324  
  1325  type sqlite3_snapshot1 = struct{ hidden [48]uint8 }
  1326  
  1327  type sqlite3_snapshot = sqlite3_snapshot1
  1328  
  1329  type sqlite3_rtree_geometry1 = struct {
  1330  	pContext uintptr
  1331  	nParam   int32
  1332  	_        [4]byte
  1333  	aParam   uintptr
  1334  	pUser    uintptr
  1335  	xDelUser uintptr
  1336  }
  1337  
  1338  type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
  1339  type sqlite3_rtree_query_info1 = struct {
  1340  	pContext      uintptr
  1341  	nParam        int32
  1342  	_             [4]byte
  1343  	aParam        uintptr
  1344  	pUser         uintptr
  1345  	xDelUser      uintptr
  1346  	aCoord        uintptr
  1347  	anQueue       uintptr
  1348  	nCoord        int32
  1349  	iLevel        int32
  1350  	mxLevel       int32
  1351  	_             [4]byte
  1352  	iRowid        sqlite3_int64
  1353  	rParentScore  sqlite3_rtree_dbl
  1354  	eParentWithin int32
  1355  	eWithin       int32
  1356  	rScore        sqlite3_rtree_dbl
  1357  	apSqlParam    uintptr
  1358  }
  1359  
  1360  type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
  1361  
  1362  type sqlite3_rtree_dbl = float64
  1363  
  1364  type Fts5ExtensionApi1 = struct {
  1365  	iVersion           int32
  1366  	_                  [4]byte
  1367  	xUserData          uintptr
  1368  	xColumnCount       uintptr
  1369  	xRowCount          uintptr
  1370  	xColumnTotalSize   uintptr
  1371  	xTokenize          uintptr
  1372  	xPhraseCount       uintptr
  1373  	xPhraseSize        uintptr
  1374  	xInstCount         uintptr
  1375  	xInst              uintptr
  1376  	xRowid             uintptr
  1377  	xColumnText        uintptr
  1378  	xColumnSize        uintptr
  1379  	xQueryPhrase       uintptr
  1380  	xSetAuxdata        uintptr
  1381  	xGetAuxdata        uintptr
  1382  	xPhraseFirst       uintptr
  1383  	xPhraseNext        uintptr
  1384  	xPhraseFirstColumn uintptr
  1385  	xPhraseNextColumn  uintptr
  1386  }
  1387  
  1388  type Fts5ExtensionApi = Fts5ExtensionApi1
  1389  type Fts5PhraseIter1 = struct {
  1390  	a uintptr
  1391  	b uintptr
  1392  }
  1393  
  1394  type Fts5PhraseIter = Fts5PhraseIter1
  1395  
  1396  type fts5_extension_function = uintptr
  1397  type fts5_tokenizer1 = struct {
  1398  	xCreate   uintptr
  1399  	xDelete   uintptr
  1400  	xTokenize uintptr
  1401  }
  1402  
  1403  type fts5_tokenizer = fts5_tokenizer1
  1404  
  1405  type fts5_api1 = struct {
  1406  	iVersion         int32
  1407  	_                [4]byte
  1408  	xCreateTokenizer uintptr
  1409  	xFindTokenizer   uintptr
  1410  	xCreateFunction  uintptr
  1411  }
  1412  
  1413  type fts5_api = fts5_api1
  1414  
  1415  type _G_fpos_t = struct {
  1416  	__pos   int64
  1417  	__state struct {
  1418  		__count int32
  1419  		__value struct{ __wch uint32 }
  1420  	}
  1421  }
  1422  
  1423  type _G_fpos64_t = struct {
  1424  	__pos   int64
  1425  	__state struct {
  1426  		__count int32
  1427  		__value struct{ __wch uint32 }
  1428  	}
  1429  }
  1430  
  1431  type _IO_FILE = struct {
  1432  	_flags          int32
  1433  	_               [4]byte
  1434  	_IO_read_ptr    uintptr
  1435  	_IO_read_end    uintptr
  1436  	_IO_read_base   uintptr
  1437  	_IO_write_base  uintptr
  1438  	_IO_write_ptr   uintptr
  1439  	_IO_write_end   uintptr
  1440  	_IO_buf_base    uintptr
  1441  	_IO_buf_end     uintptr
  1442  	_IO_save_base   uintptr
  1443  	_IO_backup_base uintptr
  1444  	_IO_save_end    uintptr
  1445  	_markers        uintptr
  1446  	_chain          uintptr
  1447  	_fileno         int32
  1448  	_flags2         int32
  1449  	_old_offset     int64
  1450  	_cur_column     uint16
  1451  	_vtable_offset  int8
  1452  	_shortbuf       [1]uint8
  1453  	_               [4]byte
  1454  	_lock           uintptr
  1455  	_offset         int64
  1456  	_codecvt        uintptr
  1457  	_wide_data      uintptr
  1458  	_freeres_list   uintptr
  1459  	_freeres_buf    uintptr
  1460  	__pad5          size_t
  1461  	_mode           int32
  1462  	_unused2        [20]uint8
  1463  }
  1464  
  1465  type FILE = _IO_FILE
  1466  
  1467  type off_t = int64
  1468  
  1469  type ssize_t = int64
  1470  
  1471  type fpos_t = _G_fpos64_t
  1472  
  1473  type idtype_t = uint32
  1474  
  1475  type div_t = struct {
  1476  	quot int32
  1477  	rem  int32
  1478  }
  1479  
  1480  type ldiv_t = struct {
  1481  	quot int64
  1482  	rem  int64
  1483  }
  1484  
  1485  type lldiv_t = struct {
  1486  	quot int64
  1487  	rem  int64
  1488  }
  1489  
  1490  type u_char = uint8
  1491  type u_short = uint16
  1492  type u_int = uint32
  1493  type u_long = uint64
  1494  type quad_t = int64
  1495  type u_quad_t = uint64
  1496  type fsid_t = struct{ __val [2]int32 }
  1497  type loff_t = int64
  1498  
  1499  type ino_t = uint64
  1500  
  1501  type dev_t = uint64
  1502  
  1503  type gid_t = uint32
  1504  
  1505  type mode_t = uint32
  1506  
  1507  type nlink_t = uint32
  1508  
  1509  type uid_t = uint32
  1510  
  1511  type pid_t = int32
  1512  
  1513  type id_t = uint32
  1514  
  1515  type daddr_t = int32
  1516  type caddr_t = uintptr
  1517  
  1518  type key_t = int32
  1519  
  1520  type clock_t = int64
  1521  
  1522  type clockid_t = int32
  1523  
  1524  type time_t = int64
  1525  
  1526  type timer_t = uintptr
  1527  
  1528  type ulong = uint64
  1529  type ushort = uint16
  1530  type uint = uint32
  1531  
  1532  type int8_t = int8
  1533  type int16_t = int16
  1534  type int32_t = int32
  1535  type int64_t = int64
  1536  
  1537  type u_int8_t = uint8
  1538  type u_int16_t = uint16
  1539  type u_int32_t = uint32
  1540  type u_int64_t = uint64
  1541  
  1542  type register_t = int32
  1543  
  1544  type sigset_t = struct{ __val [16]uint64 }
  1545  
  1546  type timeval = struct {
  1547  	tv_sec  int64
  1548  	tv_usec int64
  1549  }
  1550  
  1551  type timespec = struct {
  1552  	tv_sec  int64
  1553  	tv_nsec int64
  1554  }
  1555  
  1556  type suseconds_t = int64
  1557  
  1558  type fd_set = struct{ __fds_bits [16]int64 }
  1559  
  1560  type fd_mask = int64
  1561  
  1562  type blksize_t = int32
  1563  
  1564  type blkcnt_t = int64
  1565  type fsblkcnt_t = uint64
  1566  type fsfilcnt_t = uint64
  1567  
  1568  type __pthread_internal_list = struct {
  1569  	__prev uintptr
  1570  	__next uintptr
  1571  }
  1572  
  1573  type __pthread_internal_slist = struct{ __next uintptr }
  1574  
  1575  type __pthread_mutex_s = struct {
  1576  	__lock   int32
  1577  	__count  uint32
  1578  	__owner  int32
  1579  	__nusers uint32
  1580  	__kind   int32
  1581  	__spins  int32
  1582  	__list   struct {
  1583  		__prev uintptr
  1584  		__next uintptr
  1585  	}
  1586  }
  1587  
  1588  type __pthread_rwlock_arch_t = struct {
  1589  	__readers       uint32
  1590  	__writers       uint32
  1591  	__wrphase_futex uint32
  1592  	__writers_futex uint32
  1593  	__pad3          uint32
  1594  	__pad4          uint32
  1595  	__cur_writer    int32
  1596  	__shared        int32
  1597  	__pad1          uint64
  1598  	__pad2          uint64
  1599  	__flags         uint32
  1600  	_               [4]byte
  1601  }
  1602  
  1603  type __pthread_cond_s = struct {
  1604  	__0            struct{ __wseq uint64 }
  1605  	__8            struct{ __g1_start uint64 }
  1606  	__g_refs       [2]uint32
  1607  	__g_size       [2]uint32
  1608  	__g1_orig_size uint32
  1609  	__wrefs        uint32
  1610  	__g_signals    [2]uint32
  1611  }
  1612  
  1613  type pthread_t = uint64
  1614  
  1615  type pthread_mutexattr_t = struct {
  1616  	_      [0]uint32
  1617  	__size [4]uint8
  1618  }
  1619  
  1620  type pthread_condattr_t = struct {
  1621  	_      [0]uint32
  1622  	__size [4]uint8
  1623  }
  1624  
  1625  type pthread_key_t = uint32
  1626  
  1627  type pthread_once_t = int32
  1628  
  1629  type pthread_attr_t1 = struct {
  1630  	_      [0]uint64
  1631  	__size [56]uint8
  1632  }
  1633  
  1634  type pthread_attr_t = pthread_attr_t1
  1635  
  1636  type pthread_mutex_t = struct{ __data __pthread_mutex_s }
  1637  
  1638  type pthread_cond_t = struct{ __data __pthread_cond_s }
  1639  
  1640  type pthread_rwlock_t = struct{ __data __pthread_rwlock_arch_t }
  1641  
  1642  type pthread_rwlockattr_t = struct {
  1643  	_      [0]uint64
  1644  	__size [8]uint8
  1645  }
  1646  
  1647  type pthread_spinlock_t = int32
  1648  
  1649  type pthread_barrier_t = struct {
  1650  	_      [0]uint64
  1651  	__size [32]uint8
  1652  }
  1653  
  1654  type pthread_barrierattr_t = struct {
  1655  	_      [0]uint32
  1656  	__size [4]uint8
  1657  }
  1658  
  1659  type random_data = struct {
  1660  	fptr      uintptr
  1661  	rptr      uintptr
  1662  	state     uintptr
  1663  	rand_type int32
  1664  	rand_deg  int32
  1665  	rand_sep  int32
  1666  	_         [4]byte
  1667  	end_ptr   uintptr
  1668  }
  1669  
  1670  type drand48_data = struct {
  1671  	__x     [3]uint16
  1672  	__old_x [3]uint16
  1673  	__c     uint16
  1674  	__init  uint16
  1675  	__a     uint64
  1676  }
  1677  
  1678  type __locale_struct = struct {
  1679  	__locales       [13]uintptr
  1680  	__ctype_b       uintptr
  1681  	__ctype_tolower uintptr
  1682  	__ctype_toupper uintptr
  1683  	__names         [13]uintptr
  1684  }
  1685  
  1686  type locale_t = uintptr
  1687  
  1688  type useconds_t = uint32
  1689  
  1690  type intptr_t = int64
  1691  
  1692  type socklen_t = uint32
  1693  
  1694  type u64 = sqlite3_uint64
  1695  
  1696  type HashContext1 = struct {
  1697  	isInit uint8
  1698  	i      uint8
  1699  	j      uint8
  1700  	s      [256]uint8
  1701  	r      [32]uint8
  1702  }
  1703  
  1704  type HashContext = HashContext1
  1705  
  1706  type Global = struct {
  1707  	db            uintptr
  1708  	pStmt         uintptr
  1709  	iStart        sqlite3_int64
  1710  	iTotal        sqlite3_int64
  1711  	bWithoutRowid int32
  1712  	bReprepare    int32
  1713  	bSqlOnly      int32
  1714  	bExplain      int32
  1715  	bVerify       int32
  1716  	bMemShrink    int32
  1717  	eTemp         int32
  1718  	szTest        int32
  1719  	nRepeat       int32
  1720  	doCheckpoint  int32
  1721  	nReserve      int32
  1722  	_             [4]byte
  1723  	zWR           uintptr
  1724  	zNN           uintptr
  1725  	zPK           uintptr
  1726  	x             uint32
  1727  	y             uint32
  1728  	nResByte      u64
  1729  	nResult       int32
  1730  	zResult       [3000]uint8
  1731  	_             [4]byte
  1732  	hashFile      uintptr
  1733  	hash          HashContext
  1734  	_             [5]byte
  1735  }
  1736  
  1737  var g Global
  1738  
  1739  func isTemp(tls *libc.TLS, N int32) uintptr {
  1740  	if g.eTemp >= N {
  1741  		return ts + 2263
  1742  	}
  1743  	return ts + 2269
  1744  }
  1745  
  1746  func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) {
  1747  	var ap va_list
  1748  	_ = ap
  1749  	ap = va
  1750  	libc.Xvfprintf(tls, libc.Xstderr, zMsg, ap)
  1751  	_ = ap
  1752  	libc.Xexit(tls, 1)
  1753  }
  1754  
  1755  func HashInit(tls *libc.TLS) {
  1756  	var k uint32
  1757  	g.hash.i = uint8(0)
  1758  	g.hash.j = uint8(0)
  1759  	for k = uint32(0); k < uint32(256); k++ {
  1760  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(k))) = uint8(k)
  1761  	}
  1762  }
  1763  
  1764  func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) {
  1765  	var t uint8
  1766  	var i uint8 = g.hash.i
  1767  	var j uint8 = g.hash.j
  1768  	var k uint32
  1769  	if g.hashFile != 0 {
  1770  		libc.Xfwrite(tls, aData, uint64(1), uint64(nData), g.hashFile)
  1771  	}
  1772  	for k = uint32(0); k < nData; k++ {
  1773  		j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k))))))
  1774  		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j)))
  1775  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))
  1776  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = t
  1777  		i++
  1778  	}
  1779  	g.hash.i = i
  1780  	g.hash.j = j
  1781  }
  1782  
  1783  func HashFinal(tls *libc.TLS) {
  1784  	var k uint32
  1785  	var t uint8
  1786  	var i uint8
  1787  	var j uint8
  1788  	i = g.hash.i
  1789  	j = g.hash.j
  1790  	for k = uint32(0); k < uint32(32); k++ {
  1791  		i++
  1792  		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))
  1793  		j = uint8(int32(j) + int32(t))
  1794  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j)))
  1795  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = t
  1796  		t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))))
  1797  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(t)))
  1798  	}
  1799  }
  1800  
  1801  func hexDigitValue(tls *libc.TLS, c uint8) int32 {
  1802  	if int32(c) >= '0' && int32(c) <= '9' {
  1803  		return int32(c) - '0'
  1804  	}
  1805  	if int32(c) >= 'a' && int32(c) <= 'f' {
  1806  		return int32(c) - 'a' + 10
  1807  	}
  1808  	if int32(c) >= 'A' && int32(c) <= 'F' {
  1809  		return int32(c) - 'A' + 10
  1810  	}
  1811  	return -1
  1812  }
  1813  
  1814  func integerValue(tls *libc.TLS, zArg uintptr) int32 {
  1815  	var v sqlite3_int64 = int64(0)
  1816  	var i int32
  1817  	var isNeg int32 = 0
  1818  	if int32(*(*uint8)(unsafe.Pointer(zArg))) == '-' {
  1819  		isNeg = 1
  1820  		zArg++
  1821  	} else if int32(*(*uint8)(unsafe.Pointer(zArg))) == '+' {
  1822  		zArg++
  1823  	}
  1824  	if int32(*(*uint8)(unsafe.Pointer(zArg))) == '0' && int32(*(*uint8)(unsafe.Pointer(zArg + 1))) == 'x' {
  1825  		var x int32
  1826  		zArg += uintptr(2)
  1827  		for libc.AssignInt32(&x, hexDigitValue(tls, *(*uint8)(unsafe.Pointer(zArg)))) >= 0 {
  1828  			v = v<<4 + sqlite3_int64(x)
  1829  			zArg++
  1830  		}
  1831  	} else {
  1832  		for int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zArg))))*2)))&int32(_ISdigit) != 0 {
  1833  			v = v*int64(10) + sqlite3_int64(*(*uint8)(unsafe.Pointer(zArg))) - int64('0')
  1834  			zArg++
  1835  		}
  1836  	}
  1837  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aMult))/uint64(unsafe.Sizeof(struct {
  1838  		zSuffix uintptr
  1839  		iMult   int32
  1840  		_       [4]byte
  1841  	}{})); i++ {
  1842  		if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 {
  1843  			v = v * sqlite3_int64(aMult[i].iMult)
  1844  			break
  1845  		}
  1846  	}
  1847  	if v > int64(0x7fffffff) {
  1848  		fatal_error(tls, ts+2270, 0)
  1849  	}
  1850  	return func() int32 {
  1851  		if isNeg != 0 {
  1852  			return int32(-v)
  1853  		}
  1854  		return int32(v)
  1855  	}()
  1856  }
  1857  
  1858  var aMult = [9]struct {
  1859  	zSuffix uintptr
  1860  	iMult   int32
  1861  	_       [4]byte
  1862  }{
  1863  	{zSuffix: ts + 2307, iMult: 1024},
  1864  	{zSuffix: ts + 2311, iMult: 1024 * 1024},
  1865  	{zSuffix: ts + 2315, iMult: 1024 * 1024 * 1024},
  1866  	{zSuffix: ts + 2319, iMult: 1000},
  1867  	{zSuffix: ts + 2322, iMult: 1000000},
  1868  	{zSuffix: ts + 2325, iMult: 1000000000},
  1869  	{zSuffix: ts + 2328, iMult: 1000},
  1870  	{zSuffix: ts + 2330, iMult: 1000000},
  1871  	{zSuffix: ts + 2332, iMult: 1000000000},
  1872  }
  1873  
  1874  func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 {
  1875  	bp := tls.Alloc(16)
  1876  	defer tls.Free(16)
  1877  
  1878  	if clockVfs == uintptr(0) {
  1879  		clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
  1880  	}
  1881  	if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) {
  1882  		(*struct {
  1883  			f func(*libc.TLS, uintptr, uintptr) int32
  1884  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp)
  1885  	} else {
  1886  		(*struct {
  1887  			f func(*libc.TLS, uintptr, uintptr) int32
  1888  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8)
  1889  		*(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0)
  1890  	}
  1891  	return *(*sqlite3_int64)(unsafe.Pointer(bp))
  1892  }
  1893  
  1894  var clockVfs uintptr = uintptr(0)
  1895  
  1896  func speedtest1_random(tls *libc.TLS) uint32 {
  1897  	g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001
  1898  	g.y = g.y*uint32(1103515245) + uint32(12345)
  1899  	return g.x ^ g.y
  1900  }
  1901  
  1902  func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 {
  1903  	var out uint32 = uint32(0)
  1904  	for limit != 0 {
  1905  		out = out<<1 | in&uint32(1)
  1906  		in >>= 1
  1907  		limit >>= 1
  1908  	}
  1909  	return out
  1910  }
  1911  
  1912  func roundup_allones(tls *libc.TLS, limit uint32) uint32 {
  1913  	var m uint32 = uint32(1)
  1914  	for m < limit {
  1915  		m = m<<1 + uint32(1)
  1916  	}
  1917  	return m
  1918  }
  1919  
  1920  func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 {
  1921  	bp := tls.Alloc(24)
  1922  	defer tls.Free(24)
  1923  
  1924  	var i int32 = 0
  1925  
  1926  	if n >= uint32(1000000000) {
  1927  		i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i)
  1928  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2334, 0)
  1929  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1930  		n = n % uint32(1000000000)
  1931  	}
  1932  	if n >= uint32(1000000) {
  1933  		if i != 0 && i < nOut-1 {
  1934  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1935  		}
  1936  		i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i)
  1937  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2343, 0)
  1938  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1939  		n = n % uint32(1000000)
  1940  	}
  1941  	if n >= uint32(1000) {
  1942  		if i != 0 && i < nOut-1 {
  1943  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1944  		}
  1945  		i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i)
  1946  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2352, 0)
  1947  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1948  		n = n % uint32(1000)
  1949  	}
  1950  	if n >= uint32(100) {
  1951  		if i != 0 && i < nOut-1 {
  1952  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1953  		}
  1954  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2362, libc.VaList(bp, ones[n/uint32(100)]))
  1955  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1956  		n = n % uint32(100)
  1957  	}
  1958  	if n >= uint32(20) {
  1959  		if i != 0 && i < nOut-1 {
  1960  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1961  		}
  1962  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+8, tens[n/uint32(10)]))
  1963  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1964  		n = n % uint32(10)
  1965  	}
  1966  	if n > uint32(0) {
  1967  		if i != 0 && i < nOut-1 {
  1968  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1969  		}
  1970  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+16, ones[n]))
  1971  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1972  	}
  1973  	if i == 0 {
  1974  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2376, 0)
  1975  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1976  	}
  1977  	return i
  1978  }
  1979  
  1980  var ones = [20]uintptr{ts + 2376, ts + 2381, ts + 2385, ts + 2389, ts + 2395, ts + 2400,
  1981  	ts + 2405, ts + 2409, ts + 2415, ts + 2421, ts + 2426, ts + 2430, ts + 2437,
  1982  	ts + 2444, ts + 2453, ts + 2462, ts + 2470, ts + 2478,
  1983  	ts + 2488, ts + 2497}
  1984  var tens = [10]uintptr{ts + 2269, ts + 2426, ts + 2506, ts + 2513, ts + 2520,
  1985  	ts + 2526, ts + 2532, ts + 2538, ts + 2546, ts + 2553}
  1986  
  1987  var zDots = *(*[72]uint8)(unsafe.Pointer(ts + 2560))
  1988  
  1989  func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) {
  1990  	bp := tls.Alloc(64)
  1991  	defer tls.Free(64)
  1992  
  1993  	var n int32 = int32(libc.Xstrlen(tls, zTestName))
  1994  	var zName uintptr
  1995  	var ap va_list
  1996  	_ = ap
  1997  	ap = va
  1998  	zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap)
  1999  	_ = ap
  2000  	n = int32(libc.Xstrlen(tls, zName))
  2001  	if n > NAMEWIDTH {
  2002  		*(*uint8)(unsafe.Pointer(zName + 60)) = uint8(0)
  2003  		n = NAMEWIDTH
  2004  	}
  2005  	if g.bSqlOnly != 0 {
  2006  		libc.Xprintf(tls, ts+2632, libc.VaList(bp, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
  2007  	} else {
  2008  		libc.Xprintf(tls, ts+2652, libc.VaList(bp+32, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
  2009  		libc.Xfflush(tls, libc.Xstdout)
  2010  	}
  2011  	sqlite3.Xsqlite3_free(tls, zName)
  2012  	g.nResult = 0
  2013  	g.iStart = speedtest1_timestamp(tls)
  2014  	g.x = 0xad131d0b
  2015  	g.y = uint32(0x44f9eac8)
  2016  }
  2017  
  2018  func speedtest1_end_test(tls *libc.TLS) {
  2019  	bp := tls.Alloc(16)
  2020  	defer tls.Free(16)
  2021  
  2022  	var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart
  2023  	if g.doCheckpoint != 0 {
  2024  		speedtest1_exec(tls, ts+2666, 0)
  2025  	}
  2026  	if !(g.bSqlOnly != 0) {
  2027  		*(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 24)) += iElapseTime
  2028  		libc.Xprintf(tls, ts+2689, libc.VaList(bp, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000))))
  2029  	}
  2030  	if g.pStmt != 0 {
  2031  		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2032  		g.pStmt = uintptr(0)
  2033  	}
  2034  }
  2035  
  2036  func speedtest1_final(tls *libc.TLS) {
  2037  	bp := tls.Alloc(48)
  2038  	defer tls.Free(48)
  2039  
  2040  	if !(g.bSqlOnly != 0) {
  2041  		libc.Xprintf(tls, ts+2700, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)),
  2042  			int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000))))
  2043  	}
  2044  	if g.bVerify != 0 {
  2045  		var i int32
  2046  		libc.Xprintf(tls, ts+2728, libc.VaList(bp+32, g.nResByte))
  2047  		HashUpdate(tls, ts+2753, uint32(1))
  2048  		HashFinal(tls)
  2049  		for i = 0; i < 24; i++ {
  2050  			libc.Xprintf(tls, ts+2755, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(i))))))
  2051  		}
  2052  		if g.hashFile != 0 && g.hashFile != libc.Xstdout {
  2053  			libc.Xfclose(tls, g.hashFile)
  2054  		}
  2055  		libc.Xprintf(tls, ts+2753, 0)
  2056  	}
  2057  }
  2058  
  2059  func printSql(tls *libc.TLS, zSql uintptr) {
  2060  	bp := tls.Alloc(32)
  2061  	defer tls.Free(32)
  2062  
  2063  	var n int32 = int32(libc.Xstrlen(tls, zSql))
  2064  	for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&int32(_ISspace) != 0) {
  2065  		n--
  2066  	}
  2067  	if g.bExplain != 0 {
  2068  		libc.Xprintf(tls, ts+2760, 0)
  2069  	}
  2070  	libc.Xprintf(tls, ts+2769, libc.VaList(bp, n, zSql))
  2071  	if g.bExplain != 0 &&
  2072  		(sqlite3.Xsqlite3_strglob(tls, ts+2776, zSql) == 0 ||
  2073  			sqlite3.Xsqlite3_strglob(tls, ts+2785, zSql) == 0 ||
  2074  			sqlite3.Xsqlite3_strglob(tls, ts+2792, zSql) == 0) {
  2075  		libc.Xprintf(tls, ts+2769, libc.VaList(bp+16, n, zSql))
  2076  	}
  2077  }
  2078  
  2079  func speedtest1_shrink_memory(tls *libc.TLS) {
  2080  	if g.bMemShrink != 0 {
  2081  		sqlite3.Xsqlite3_db_release_memory(tls, g.db)
  2082  	}
  2083  }
  2084  
  2085  func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) {
  2086  	bp := tls.Alloc(32)
  2087  	defer tls.Free(32)
  2088  
  2089  	var ap va_list
  2090  	_ = ap
  2091  	var zSql uintptr
  2092  	ap = va
  2093  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2094  	_ = ap
  2095  	if g.bSqlOnly != 0 {
  2096  		printSql(tls, zSql)
  2097  	} else {
  2098  		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
  2099  		var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24)
  2100  		if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 {
  2101  			fatal_error(tls, ts+2800, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24)), zSql))
  2102  		}
  2103  		if rc != SQLITE_OK {
  2104  			fatal_error(tls, ts+2818, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2105  		}
  2106  	}
  2107  	sqlite3.Xsqlite3_free(tls, zSql)
  2108  	speedtest1_shrink_memory(tls)
  2109  }
  2110  
  2111  func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
  2112  	bp := tls.Alloc(24)
  2113  	defer tls.Free(24)
  2114  
  2115  	var ap va_list
  2116  	_ = ap
  2117  	var zSql uintptr
  2118  
  2119  	var zResult uintptr = uintptr(0)
  2120  	ap = va
  2121  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2122  	_ = ap
  2123  	if g.bSqlOnly != 0 {
  2124  		printSql(tls, zSql)
  2125  	} else {
  2126  		var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0))
  2127  		if rc != 0 {
  2128  			fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2129  		}
  2130  		if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW {
  2131  			var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 0)
  2132  			if z != 0 {
  2133  				zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2373, libc.VaList(bp+8, z))
  2134  			}
  2135  		}
  2136  		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  2137  	}
  2138  	sqlite3.Xsqlite3_free(tls, zSql)
  2139  	speedtest1_shrink_memory(tls)
  2140  	return zResult
  2141  }
  2142  
  2143  func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) {
  2144  	bp := tls.Alloc(8)
  2145  	defer tls.Free(8)
  2146  
  2147  	var ap va_list
  2148  	_ = ap
  2149  	var zSql uintptr
  2150  	ap = va
  2151  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2152  	_ = ap
  2153  	if g.bSqlOnly != 0 {
  2154  		printSql(tls, zSql)
  2155  	} else {
  2156  		var rc int32
  2157  		if g.pStmt != 0 {
  2158  			sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2159  		}
  2160  		rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+8, uintptr(0))
  2161  		if rc != 0 {
  2162  			fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2163  		}
  2164  	}
  2165  	sqlite3.Xsqlite3_free(tls, zSql)
  2166  }
  2167  
  2168  func speedtest1_run(tls *libc.TLS) {
  2169  	bp := tls.Alloc(16)
  2170  	defer tls.Free(16)
  2171  
  2172  	var i int32
  2173  	var n int32
  2174  	var len int32
  2175  	if g.bSqlOnly != 0 {
  2176  		return
  2177  	}
  2178  
  2179  	g.nResult = 0
  2180  	for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW {
  2181  		n = sqlite3.Xsqlite3_column_count(tls, g.pStmt)
  2182  		for i = 0; i < n; i++ {
  2183  			var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i)
  2184  			if z == uintptr(0) {
  2185  				z = ts + 2849
  2186  			}
  2187  			len = int32(libc.Xstrlen(tls, z))
  2188  			if g.bVerify != 0 {
  2189  				var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i)
  2190  
  2191  				*(*uint8)(unsafe.Pointer(bp)) = uint8('\n')
  2192  				*(*uint8)(unsafe.Pointer(bp + 1)) = *(*uint8)(unsafe.Pointer(ts + 2853 + uintptr(eType)))
  2193  				if g.nResByte != 0 {
  2194  					HashUpdate(tls, bp, uint32(2))
  2195  				} else {
  2196  					HashUpdate(tls, bp+uintptr(1), uint32(1))
  2197  				}
  2198  				if eType == SQLITE_FLOAT {
  2199  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += uint64(2)
  2200  				} else if eType == SQLITE_BLOB {
  2201  					var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i)
  2202  					var iBlob int32
  2203  
  2204  					var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i)
  2205  					for iBlob = 0; iBlob < nBlob; iBlob++ {
  2206  						*(*uint8)(unsafe.Pointer(bp + 2)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4)))
  2207  						*(*uint8)(unsafe.Pointer(bp + 2 + 1)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15)))
  2208  						HashUpdate(tls, bp+2, uint32(2))
  2209  					}
  2210  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(nBlob*2 + 2)
  2211  				} else {
  2212  					HashUpdate(tls, z, uint32(len))
  2213  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(len + 2)
  2214  				}
  2215  			}
  2216  			if uint64(g.nResult+len) < uint64(unsafe.Sizeof([3000]uint8{}))-uint64(2) {
  2217  				if g.nResult > 0 {
  2218  					*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 124 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = uint8(' ')
  2219  				}
  2220  				libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+124+uintptr(g.nResult), z, uint64(len+1))
  2221  				*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 120)) += len
  2222  			}
  2223  		}
  2224  	}
  2225  	if g.bReprepare != 0 {
  2226  		sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+8, uintptr(0))
  2227  		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2228  		g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 8))
  2229  	} else {
  2230  		sqlite3.Xsqlite3_reset(tls, g.pStmt)
  2231  	}
  2232  	speedtest1_shrink_memory(tls)
  2233  }
  2234  
  2235  func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) {
  2236  	bp := tls.Alloc(16)
  2237  	defer tls.Free(16)
  2238  
  2239  	var n int32 = int32(libc.Xstrlen(tls, zSql))
  2240  	for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&int32(_ISspace) != 0) {
  2241  		n--
  2242  	}
  2243  	libc.Xfprintf(tls, libc.Xstderr, ts+2769, libc.VaList(bp, n, zSql))
  2244  }
  2245  
  2246  func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) {
  2247  	sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls)))
  2248  }
  2249  
  2250  func est_square_root(tls *libc.TLS, x int32) int32 {
  2251  	var y0 int32 = x / 2
  2252  	var y1 int32
  2253  	var n int32
  2254  	for n = 0; y0 > 0 && n < 10; n++ {
  2255  		y1 = (y0 + x/y0) / 2
  2256  		if y1 == y0 {
  2257  			break
  2258  		}
  2259  		y0 = y1
  2260  	}
  2261  	return y0
  2262  }
  2263  
  2264  func testset_main(tls *libc.TLS) {
  2265  	bp := tls.Alloc(2568)
  2266  	defer tls.Free(2568)
  2267  
  2268  	var i int32
  2269  	var n int32
  2270  	var sz int32
  2271  	var maxb int32
  2272  	var x1 uint32 = uint32(0)
  2273  	var x2 uint32 = uint32(0)
  2274  	var len int32 = 0
  2275  
  2276  	sz = libc.AssignInt32(&n, g.szTest*500)
  2277  	*(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0)
  2278  	maxb = int32(roundup_allones(tls, uint32(sz)))
  2279  	speedtest1_begin_test(tls, 100, ts+2877, libc.VaList(bp, n))
  2280  	speedtest1_exec(tls, ts+2913, 0)
  2281  	speedtest1_exec(tls, ts+2919,
  2282  		libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN))
  2283  	speedtest1_prepare(tls, ts+2977, libc.VaList(bp+40, n))
  2284  	for i = 1; i <= n; i++ {
  2285  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2286  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2287  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
  2288  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2289  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2290  		speedtest1_run(tls)
  2291  	}
  2292  	speedtest1_exec(tls, ts+3023, 0)
  2293  	speedtest1_end_test(tls)
  2294  
  2295  	n = sz
  2296  	speedtest1_begin_test(tls, 110, ts+3030, libc.VaList(bp+48, n))
  2297  	speedtest1_exec(tls, ts+2913, 0)
  2298  	speedtest1_exec(tls,
  2299  		ts+3067,
  2300  		libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2301  	speedtest1_prepare(tls, ts+3130, libc.VaList(bp+104, n))
  2302  	for i = 1; i <= n; i++ {
  2303  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2304  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2305  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i)
  2306  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1))
  2307  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2308  		speedtest1_run(tls)
  2309  	}
  2310  	speedtest1_exec(tls, ts+3023, 0)
  2311  	speedtest1_end_test(tls)
  2312  
  2313  	n = sz
  2314  	speedtest1_begin_test(tls, 120, ts+3175, libc.VaList(bp+112, n))
  2315  	speedtest1_exec(tls, ts+2913, 0)
  2316  	speedtest1_exec(tls,
  2317  		ts+3214,
  2318  		libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2319  	speedtest1_prepare(tls, ts+3277, libc.VaList(bp+168, n))
  2320  	for i = 1; i <= n; i++ {
  2321  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2322  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2323  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2324  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
  2325  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2326  		speedtest1_run(tls)
  2327  	}
  2328  	speedtest1_exec(tls, ts+3023, 0)
  2329  	speedtest1_end_test(tls)
  2330  
  2331  	n = 25
  2332  	speedtest1_begin_test(tls, 130, ts+3322, libc.VaList(bp+176, n))
  2333  	speedtest1_exec(tls, ts+2913, 0)
  2334  	speedtest1_prepare(tls,
  2335  		ts+3361, libc.VaList(bp+184, n))
  2336  	for i = 1; i <= n; i++ {
  2337  		if (i-1)%g.nRepeat == 0 {
  2338  			x1 = speedtest1_random(tls) % uint32(maxb)
  2339  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2340  		}
  2341  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2342  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2343  		speedtest1_run(tls)
  2344  	}
  2345  	speedtest1_exec(tls, ts+3023, 0)
  2346  	speedtest1_end_test(tls)
  2347  
  2348  	n = 10
  2349  	speedtest1_begin_test(tls, 140, ts+3466, libc.VaList(bp+192, n))
  2350  	speedtest1_exec(tls, ts+2913, 0)
  2351  	speedtest1_prepare(tls,
  2352  		ts+3494, libc.VaList(bp+200, n))
  2353  	for i = 1; i <= n; i++ {
  2354  		if (i-1)%g.nRepeat == 0 {
  2355  			x1 = speedtest1_random(tls) % uint32(maxb)
  2356  			*(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%')
  2357  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2)))
  2358  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%')
  2359  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0)
  2360  		}
  2361  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2362  		speedtest1_run(tls)
  2363  	}
  2364  	speedtest1_exec(tls, ts+3023, 0)
  2365  	speedtest1_end_test(tls)
  2366  
  2367  	n = 10
  2368  	speedtest1_begin_test(tls, 142, ts+3589, libc.VaList(bp+208, n))
  2369  	speedtest1_exec(tls, ts+2913, 0)
  2370  	speedtest1_prepare(tls,
  2371  		ts+3622, libc.VaList(bp+216, n))
  2372  	for i = 1; i <= n; i++ {
  2373  		if (i-1)%g.nRepeat == 0 {
  2374  			x1 = speedtest1_random(tls) % uint32(maxb)
  2375  			*(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%')
  2376  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2)))
  2377  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%')
  2378  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0)
  2379  		}
  2380  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2381  		speedtest1_run(tls)
  2382  	}
  2383  	speedtest1_exec(tls, ts+3023, 0)
  2384  	speedtest1_end_test(tls)
  2385  
  2386  	n = 10
  2387  	speedtest1_begin_test(tls, 145, ts+3686, libc.VaList(bp+224, n))
  2388  	speedtest1_exec(tls, ts+2913, 0)
  2389  	speedtest1_prepare(tls,
  2390  		ts+3729, libc.VaList(bp+232, n))
  2391  	for i = 1; i <= n; i++ {
  2392  		if (i-1)%g.nRepeat == 0 {
  2393  			x1 = speedtest1_random(tls) % uint32(maxb)
  2394  			*(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%')
  2395  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2)))
  2396  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%')
  2397  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0)
  2398  		}
  2399  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2400  		speedtest1_run(tls)
  2401  	}
  2402  	speedtest1_exec(tls, ts+3023, 0)
  2403  	speedtest1_end_test(tls)
  2404  
  2405  	speedtest1_begin_test(tls, 150, ts+3802, 0)
  2406  	speedtest1_exec(tls, ts+3826, 0)
  2407  	speedtest1_exec(tls, ts+3833, 0)
  2408  	speedtest1_exec(tls, ts+3867, 0)
  2409  	speedtest1_exec(tls, ts+3894, 0)
  2410  	speedtest1_exec(tls, ts+3928, 0)
  2411  	speedtest1_exec(tls, ts+3960, 0)
  2412  	speedtest1_exec(tls, ts+3990, 0)
  2413  	speedtest1_end_test(tls)
  2414  
  2415  	n = sz / 5
  2416  	speedtest1_begin_test(tls, 160, ts+3998, libc.VaList(bp+240, n))
  2417  	speedtest1_exec(tls, ts+2913, 0)
  2418  	speedtest1_prepare(tls,
  2419  		ts+4035, libc.VaList(bp+248, n))
  2420  	for i = 1; i <= n; i++ {
  2421  		if (i-1)%g.nRepeat == 0 {
  2422  			x1 = speedtest1_random(tls) % uint32(maxb)
  2423  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2424  		}
  2425  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2426  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2427  		speedtest1_run(tls)
  2428  	}
  2429  	speedtest1_exec(tls, ts+3023, 0)
  2430  	speedtest1_end_test(tls)
  2431  
  2432  	n = sz / 5
  2433  	speedtest1_begin_test(tls, 161, ts+4140, libc.VaList(bp+256, n))
  2434  	speedtest1_exec(tls, ts+2913, 0)
  2435  	speedtest1_prepare(tls,
  2436  		ts+4172, libc.VaList(bp+264, n))
  2437  	for i = 1; i <= n; i++ {
  2438  		if (i-1)%g.nRepeat == 0 {
  2439  			x1 = speedtest1_random(tls) % uint32(maxb)
  2440  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2441  		}
  2442  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2443  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2444  		speedtest1_run(tls)
  2445  	}
  2446  	speedtest1_exec(tls, ts+3023, 0)
  2447  	speedtest1_end_test(tls)
  2448  
  2449  	n = sz / 5
  2450  	speedtest1_begin_test(tls, 170, ts+4277, libc.VaList(bp+272, n))
  2451  	speedtest1_exec(tls, ts+2913, 0)
  2452  	speedtest1_prepare(tls,
  2453  		ts+4311, libc.VaList(bp+280, n))
  2454  	for i = 1; i <= n; i++ {
  2455  		if (i-1)%g.nRepeat == 0 {
  2456  			x1 = swizzle(tls, uint32(i), uint32(maxb))
  2457  			len = speedtest1_numbername(tls, x1, bp+568, int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(1)))
  2458  		}
  2459  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0))
  2460  		speedtest1_run(tls)
  2461  	}
  2462  	speedtest1_exec(tls, ts+3023, 0)
  2463  	speedtest1_end_test(tls)
  2464  
  2465  	n = sz
  2466  	speedtest1_begin_test(tls, 180, ts+4423, libc.VaList(bp+288, n))
  2467  	speedtest1_exec(tls, ts+2913, 0)
  2468  	speedtest1_exec(tls,
  2469  		ts+4453,
  2470  		libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2471  	speedtest1_exec(tls, ts+4524, 0)
  2472  	speedtest1_exec(tls, ts+4550, 0)
  2473  	speedtest1_exec(tls, ts+4576, 0)
  2474  	speedtest1_exec(tls, ts+3023, 0)
  2475  	speedtest1_end_test(tls)
  2476  
  2477  	n = sz
  2478  	speedtest1_begin_test(tls, 190, ts+4608, libc.VaList(bp+344, n))
  2479  	speedtest1_exec(tls, ts+4636, 0)
  2480  	speedtest1_exec(tls, ts+4652, 0)
  2481  	speedtest1_end_test(tls)
  2482  
  2483  	speedtest1_begin_test(tls, 200, ts+4685, 0)
  2484  	speedtest1_exec(tls, ts+4685, 0)
  2485  	speedtest1_end_test(tls)
  2486  
  2487  	speedtest1_begin_test(tls, 210, ts+4692, 0)
  2488  	speedtest1_exec(tls, ts+4726, 0)
  2489  	speedtest1_exec(tls, ts+4770, 0)
  2490  	speedtest1_end_test(tls)
  2491  
  2492  	n = sz / 5
  2493  	speedtest1_begin_test(tls, 230, ts+4792, libc.VaList(bp+352, n))
  2494  	speedtest1_exec(tls, ts+2913, 0)
  2495  	speedtest1_prepare(tls,
  2496  		ts+4829, libc.VaList(bp+360, n))
  2497  	for i = 1; i <= n; i++ {
  2498  		x1 = speedtest1_random(tls) % uint32(maxb)
  2499  		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2500  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2501  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2502  		speedtest1_run(tls)
  2503  	}
  2504  	speedtest1_exec(tls, ts+3023, 0)
  2505  	speedtest1_end_test(tls)
  2506  
  2507  	n = sz
  2508  	speedtest1_begin_test(tls, 240, ts+4888, libc.VaList(bp+368, n))
  2509  	speedtest1_exec(tls, ts+2913, 0)
  2510  	speedtest1_prepare(tls,
  2511  		ts+4918, libc.VaList(bp+376, n))
  2512  	for i = 1; i <= n; i++ {
  2513  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2514  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2515  		speedtest1_run(tls)
  2516  	}
  2517  	speedtest1_exec(tls, ts+3023, 0)
  2518  	speedtest1_end_test(tls)
  2519  
  2520  	speedtest1_begin_test(tls, 250, ts+4962, libc.VaList(bp+384, sz))
  2521  	speedtest1_exec(tls, ts+5003, 0)
  2522  	speedtest1_end_test(tls)
  2523  
  2524  	speedtest1_begin_test(tls, 260, ts+5023, 0)
  2525  	speedtest1_exec(tls, ts+4770, 0)
  2526  	speedtest1_end_test(tls)
  2527  
  2528  	n = sz / 5
  2529  	speedtest1_begin_test(tls, 270, ts+5056, libc.VaList(bp+392, n))
  2530  	speedtest1_exec(tls, ts+2913, 0)
  2531  	speedtest1_prepare(tls,
  2532  		ts+5093, libc.VaList(bp+400, n))
  2533  	for i = 1; i <= n; i++ {
  2534  		x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1)
  2535  		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2536  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2537  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2538  		speedtest1_run(tls)
  2539  	}
  2540  	speedtest1_exec(tls, ts+3023, 0)
  2541  	speedtest1_end_test(tls)
  2542  
  2543  	n = sz
  2544  	speedtest1_begin_test(tls, 280, ts+5147, libc.VaList(bp+408, n))
  2545  	speedtest1_exec(tls, ts+2913, 0)
  2546  	speedtest1_prepare(tls,
  2547  		ts+5177, libc.VaList(bp+416, n))
  2548  	for i = 1; i <= n; i++ {
  2549  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2550  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2551  		speedtest1_run(tls)
  2552  	}
  2553  	speedtest1_exec(tls, ts+3023, 0)
  2554  	speedtest1_end_test(tls)
  2555  
  2556  	speedtest1_begin_test(tls, 290, ts+5216, libc.VaList(bp+424, sz))
  2557  	speedtest1_exec(tls, ts+5255, 0)
  2558  	speedtest1_exec(tls, ts+5299, 0)
  2559  	speedtest1_end_test(tls)
  2560  
  2561  	speedtest1_begin_test(tls, 300, ts+5343, libc.VaList(bp+432, sz))
  2562  	speedtest1_exec(tls, ts+4636, 0)
  2563  	speedtest1_exec(tls,
  2564  		ts+5384, 0)
  2565  	speedtest1_exec(tls,
  2566  		ts+5449, 0)
  2567  	speedtest1_end_test(tls)
  2568  
  2569  	n = sz / 5
  2570  	speedtest1_begin_test(tls, 310, ts+5514, libc.VaList(bp+440, n))
  2571  	speedtest1_exec(tls, ts+2913, 0)
  2572  	speedtest1_prepare(tls,
  2573  		ts+5533, 0)
  2574  	for i = 1; i <= n; i++ {
  2575  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2576  		x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4)
  2577  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2578  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2579  		speedtest1_run(tls)
  2580  	}
  2581  	speedtest1_exec(tls, ts+3023, 0)
  2582  	speedtest1_end_test(tls)
  2583  
  2584  	speedtest1_begin_test(tls, 320, ts+5646, libc.VaList(bp+448, n))
  2585  	speedtest1_prepare(tls,
  2586  		ts+5669, 0)
  2587  	sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50)
  2588  	speedtest1_run(tls)
  2589  	speedtest1_end_test(tls)
  2590  
  2591  	sz = libc.AssignInt32(&n, g.szTest*700)
  2592  	*(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0)
  2593  	maxb = int32(roundup_allones(tls, uint32(sz/3)))
  2594  	speedtest1_begin_test(tls, 400, ts+5787, libc.VaList(bp+456, n))
  2595  	speedtest1_exec(tls, ts+2913, 0)
  2596  	speedtest1_exec(tls, ts+5812,
  2597  		libc.VaList(bp+464, isTemp(tls, 9), g.zNN))
  2598  	speedtest1_prepare(tls, ts+5860, libc.VaList(bp+480, n))
  2599  	for i = 1; i <= n; i++ {
  2600  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2601  		speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2602  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
  2603  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0))
  2604  		speedtest1_run(tls)
  2605  	}
  2606  	speedtest1_exec(tls, ts+3023, 0)
  2607  	speedtest1_end_test(tls)
  2608  	speedtest1_begin_test(tls, 410, ts+5904, libc.VaList(bp+488, n))
  2609  	speedtest1_prepare(tls, ts+5925, libc.VaList(bp+496, n))
  2610  	for i = 1; i <= n; i++ {
  2611  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2612  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
  2613  		speedtest1_run(tls)
  2614  	}
  2615  	speedtest1_end_test(tls)
  2616  
  2617  	sz = libc.AssignInt32(&n, g.szTest*700)
  2618  	*(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0)
  2619  	maxb = int32(roundup_allones(tls, uint32(sz/3)))
  2620  	speedtest1_begin_test(tls, 500, ts+5967, libc.VaList(bp+504, n))
  2621  	speedtest1_exec(tls, ts+2913, 0)
  2622  	speedtest1_exec(tls, ts+5989,
  2623  		libc.VaList(bp+512, isTemp(tls, 9), g.zNN,
  2624  			func() uintptr {
  2625  				if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 {
  2626  					return ts + 6036
  2627  				}
  2628  				return ts + 2269
  2629  			}()))
  2630  	speedtest1_prepare(tls, ts+6050, libc.VaList(bp+536, n))
  2631  	for i = 1; i <= n; i++ {
  2632  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2633  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2634  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2635  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
  2636  		speedtest1_run(tls)
  2637  	}
  2638  	speedtest1_exec(tls, ts+3023, 0)
  2639  	speedtest1_end_test(tls)
  2640  	speedtest1_begin_test(tls, 510, ts+6094, libc.VaList(bp+544, n))
  2641  	speedtest1_prepare(tls, ts+6118, libc.VaList(bp+552, n))
  2642  	for i = 1; i <= n; i++ {
  2643  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2644  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2645  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
  2646  		speedtest1_run(tls)
  2647  	}
  2648  	speedtest1_end_test(tls)
  2649  	speedtest1_begin_test(tls, 520, ts+6160, libc.VaList(bp+560, n))
  2650  	speedtest1_exec(tls, ts+6179, 0)
  2651  	speedtest1_exec(tls, ts+6206, 0)
  2652  	speedtest1_end_test(tls)
  2653  
  2654  	speedtest1_begin_test(tls, 980, ts+6233, 0)
  2655  	speedtest1_exec(tls, ts+6233, 0)
  2656  	speedtest1_end_test(tls)
  2657  
  2658  	speedtest1_begin_test(tls, 990, ts+6256, 0)
  2659  	speedtest1_exec(tls, ts+6256, 0)
  2660  	speedtest1_end_test(tls)
  2661  }
  2662  
  2663  func testset_cte(tls *libc.TLS) {
  2664  	bp := tls.Alloc(32)
  2665  	defer tls.Free(32)
  2666  
  2667  	var zPuz uintptr
  2668  	var rSpacing float64
  2669  	var nElem int32
  2670  
  2671  	if g.szTest < 25 {
  2672  		zPuz = azPuzzle[0]
  2673  	} else if g.szTest < 70 {
  2674  		zPuz = azPuzzle[1]
  2675  	} else {
  2676  		zPuz = azPuzzle[2]
  2677  	}
  2678  	speedtest1_begin_test(tls, 100, ts+6264, 0)
  2679  	speedtest1_prepare(tls,
  2680  		ts+6295, 0)
  2681  	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
  2682  	speedtest1_run(tls)
  2683  	speedtest1_end_test(tls)
  2684  
  2685  	speedtest1_begin_test(tls, 200, ts+7099, 0)
  2686  	speedtest1_prepare(tls,
  2687  		ts+7127, 0)
  2688  	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
  2689  	speedtest1_run(tls)
  2690  	speedtest1_end_test(tls)
  2691  
  2692  	rSpacing = 5.0 / float64(g.szTest)
  2693  	speedtest1_begin_test(tls, 300, ts+7939, libc.VaList(bp, rSpacing))
  2694  	speedtest1_prepare(tls,
  2695  		ts+7970, 0)
  2696  	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05)
  2697  	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing)
  2698  	speedtest1_run(tls)
  2699  	speedtest1_end_test(tls)
  2700  
  2701  	nElem = 10000 * g.szTest
  2702  	speedtest1_begin_test(tls, 400, ts+8566, libc.VaList(bp+8, nElem))
  2703  	speedtest1_prepare(tls,
  2704  		ts+8603,
  2705  		libc.VaList(bp+16, nElem, nElem))
  2706  	speedtest1_run(tls)
  2707  	speedtest1_end_test(tls)
  2708  }
  2709  
  2710  var azPuzzle = [3]uintptr{
  2711  	ts + 8834,
  2712  	ts + 8916,
  2713  	ts + 8998,
  2714  }
  2715  
  2716  func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) {
  2717  	bp := tls.Alloc(24)
  2718  	defer tls.Free(24)
  2719  
  2720  	var x int32 = int32(speedtest1_random(tls))
  2721  	var y int32 = int32(speedtest1_random(tls))
  2722  	var z int32
  2723  	z = y % 10
  2724  	if z < 0 {
  2725  		z = -z
  2726  	}
  2727  	y = y / 10
  2728  	sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9080, libc.VaList(bp, y, z, x%200))
  2729  }
  2730  
  2731  func testset_fp(tls *libc.TLS) {
  2732  	bp := tls.Alloc(272)
  2733  	defer tls.Free(272)
  2734  
  2735  	var n int32
  2736  	var i int32
  2737  
  2738  	n = g.szTest * 5000
  2739  	speedtest1_begin_test(tls, 100, ts+9089, libc.VaList(bp, n*2))
  2740  	speedtest1_exec(tls, ts+2913, 0)
  2741  	speedtest1_exec(tls, ts+9120,
  2742  		libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN))
  2743  	speedtest1_prepare(tls, ts+9161, libc.VaList(bp+32, n))
  2744  	for i = 1; i <= n; i++ {
  2745  		speedtest1_random_ascii_fp(tls, bp+72)
  2746  		speedtest1_random_ascii_fp(tls, bp+172)
  2747  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2748  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2749  		speedtest1_run(tls)
  2750  	}
  2751  	speedtest1_exec(tls, ts+3023, 0)
  2752  	speedtest1_end_test(tls)
  2753  
  2754  	n = g.szTest/25 + 2
  2755  	speedtest1_begin_test(tls, 110, ts+9203, libc.VaList(bp+40, n))
  2756  	speedtest1_prepare(tls, ts+9220, 0)
  2757  	for i = 1; i <= n; i++ {
  2758  		speedtest1_random_ascii_fp(tls, bp+72)
  2759  		speedtest1_random_ascii_fp(tls, bp+172)
  2760  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2761  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2762  		speedtest1_run(tls)
  2763  	}
  2764  	speedtest1_end_test(tls)
  2765  
  2766  	speedtest1_begin_test(tls, 120, ts+9268, 0)
  2767  	speedtest1_exec(tls, ts+3826, 0)
  2768  	speedtest1_exec(tls, ts+9293, 0)
  2769  	speedtest1_exec(tls, ts+9320, 0)
  2770  	speedtest1_exec(tls, ts+9347, 0)
  2771  	speedtest1_exec(tls, ts+3990, 0)
  2772  	speedtest1_end_test(tls)
  2773  
  2774  	n = g.szTest/3 + 2
  2775  	speedtest1_begin_test(tls, 130, ts+9377, libc.VaList(bp+48, n))
  2776  	speedtest1_prepare(tls, ts+9220, 0)
  2777  	for i = 1; i <= n; i++ {
  2778  		speedtest1_random_ascii_fp(tls, bp+72)
  2779  		speedtest1_random_ascii_fp(tls, bp+172)
  2780  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2781  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2782  		speedtest1_run(tls)
  2783  	}
  2784  	speedtest1_end_test(tls)
  2785  
  2786  	n = g.szTest * 5000
  2787  	speedtest1_begin_test(tls, 140, ts+9402, libc.VaList(bp+56, n))
  2788  	speedtest1_exec(tls, ts+9422, 0)
  2789  	speedtest1_end_test(tls)
  2790  
  2791  	speedtest1_begin_test(tls, 150, ts+9465, libc.VaList(bp+64, n*4))
  2792  	speedtest1_exec(tls,
  2793  		ts+9483, 0)
  2794  	speedtest1_end_test(tls)
  2795  }
  2796  
  2797  func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) {
  2798  	var d uint32
  2799  	var x0 uint32
  2800  	var x1 uint32
  2801  	var span uint32
  2802  
  2803  	span = mx/uint32(100) + uint32(1)
  2804  	if speedtest1_random(tls)%uint32(3) == uint32(0) {
  2805  		span = span * uint32(p1)
  2806  	}
  2807  	if speedtest1_random(tls)%uint32(p2) == uint32(0) {
  2808  		span = mx / uint32(2)
  2809  	}
  2810  	d = speedtest1_random(tls)%span + uint32(1)
  2811  	x0 = speedtest1_random(tls)%(mx-d) + uint32(1)
  2812  	x1 = x0 + d
  2813  	*(*uint32)(unsafe.Pointer(pX0)) = x0
  2814  	*(*uint32)(unsafe.Pointer(pX1)) = x1
  2815  }
  2816  
  2817  func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 {
  2818  	*(*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)))
  2819  	return SQLITE_OK
  2820  }
  2821  
  2822  func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) {
  2823  	bp := tls.Alloc(224)
  2824  	defer tls.Free(224)
  2825  
  2826  	var i uint32
  2827  	var n uint32
  2828  	var mxCoord uint32
  2829  
  2830  	var iStep uint32
  2831  	var mxRowid uint32
  2832  	var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(g.szTest)*uint64(500)))
  2833  
  2834  	mxCoord = uint32(15000)
  2835  	mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500))
  2836  	speedtest1_begin_test(tls, 100, ts+9578, libc.VaList(bp, n))
  2837  	speedtest1_exec(tls, ts+2913, 0)
  2838  	speedtest1_exec(tls, ts+9604, 0)
  2839  	speedtest1_prepare(tls,
  2840  		ts+9663, 0)
  2841  	for i = uint32(1); i <= n; i++ {
  2842  		twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204)
  2843  		twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212)
  2844  		twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220)
  2845  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
  2846  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200))))
  2847  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204))))
  2848  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208))))
  2849  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212))))
  2850  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216))))
  2851  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220))))
  2852  		speedtest1_run(tls)
  2853  	}
  2854  	speedtest1_exec(tls, ts+3023, 0)
  2855  	speedtest1_end_test(tls)
  2856  
  2857  	speedtest1_begin_test(tls, 101, ts+9729, 0)
  2858  	speedtest1_exec(tls, ts+9764, 0)
  2859  	speedtest1_exec(tls, ts+9822, 0)
  2860  	speedtest1_end_test(tls)
  2861  
  2862  	n = uint32(g.szTest * 200)
  2863  	speedtest1_begin_test(tls, 110, ts+9855, libc.VaList(bp+8, n))
  2864  	speedtest1_prepare(tls, ts+9898, 0)
  2865  	iStep = mxCoord / n
  2866  	for i = uint32(0); i < n; i++ {
  2867  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2868  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2869  		speedtest1_run(tls)
  2870  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2871  	}
  2872  	speedtest1_end_test(tls)
  2873  
  2874  	if g.bVerify != 0 {
  2875  		n = uint32(g.szTest * 200)
  2876  		speedtest1_begin_test(tls, 111, ts+9947, 0)
  2877  		speedtest1_prepare(tls, ts+9994, 0)
  2878  		iStep = mxCoord / n
  2879  		for i = uint32(0); i < n; i++ {
  2880  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2881  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2882  			speedtest1_run(tls)
  2883  			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2884  				fatal_error(tls, ts+10042,
  2885  					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)))
  2886  			}
  2887  		}
  2888  		speedtest1_end_test(tls)
  2889  	}
  2890  
  2891  	n = uint32(g.szTest * 200)
  2892  	speedtest1_begin_test(tls, 120, ts+10084, libc.VaList(bp+56, n))
  2893  	speedtest1_prepare(tls, ts+10125, 0)
  2894  	iStep = mxCoord / n
  2895  	for i = uint32(0); i < n; i++ {
  2896  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2897  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2898  		speedtest1_run(tls)
  2899  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2900  	}
  2901  	speedtest1_end_test(tls)
  2902  
  2903  	if g.bVerify != 0 {
  2904  		n = uint32(g.szTest * 200)
  2905  		speedtest1_begin_test(tls, 121, ts+10174, 0)
  2906  		speedtest1_prepare(tls, ts+10219, 0)
  2907  		iStep = mxCoord / n
  2908  		for i = uint32(0); i < n; i++ {
  2909  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2910  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2911  			speedtest1_run(tls)
  2912  			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2913  				fatal_error(tls, ts+10042,
  2914  					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)))
  2915  			}
  2916  		}
  2917  		speedtest1_end_test(tls)
  2918  	}
  2919  
  2920  	n = uint32(g.szTest * 200)
  2921  	speedtest1_begin_test(tls, 125, ts+10267, libc.VaList(bp+104, n))
  2922  	sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10303, *(*uintptr)(unsafe.Pointer(&struct {
  2923  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2924  	}{xsliceGeometryCallback})), uintptr(0))
  2925  	speedtest1_prepare(tls, ts+10310, 0)
  2926  	iStep = mxCoord / n
  2927  	for i = uint32(0); i < n; i++ {
  2928  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2929  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2930  		speedtest1_run(tls)
  2931  		if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2932  			fatal_error(tls, ts+10042,
  2933  				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)))
  2934  		}
  2935  	}
  2936  	speedtest1_end_test(tls)
  2937  
  2938  	n = uint32(g.szTest * 400)
  2939  	speedtest1_begin_test(tls, 130, ts+10364, libc.VaList(bp+152, n))
  2940  	speedtest1_prepare(tls,
  2941  		ts+10407, 0)
  2942  	iStep = mxCoord / n
  2943  	for i = uint32(0); i < n; i++ {
  2944  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2945  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2946  		speedtest1_run(tls)
  2947  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2948  	}
  2949  	speedtest1_end_test(tls)
  2950  
  2951  	n = uint32(g.szTest * 500)
  2952  	speedtest1_begin_test(tls, 140, ts+10500, libc.VaList(bp+160, n))
  2953  	speedtest1_prepare(tls, ts+10517, 0)
  2954  	for i = uint32(1); i <= n; i++ {
  2955  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
  2956  		speedtest1_run(tls)
  2957  	}
  2958  	speedtest1_end_test(tls)
  2959  
  2960  	n = uint32(g.szTest * 50)
  2961  	speedtest1_begin_test(tls, 150, ts+10547, libc.VaList(bp+168, n))
  2962  	speedtest1_prepare(tls, ts+10570, 0)
  2963  	for i = uint32(1); i <= n; i++ {
  2964  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1)))
  2965  		speedtest1_run(tls)
  2966  	}
  2967  	speedtest1_end_test(tls)
  2968  
  2969  	n = uint32(g.szTest * 5)
  2970  	speedtest1_begin_test(tls, 155, ts+10618, libc.VaList(bp+176, n))
  2971  	speedtest1_prepare(tls,
  2972  		ts+10659, 0)
  2973  	iStep = mxCoord / n
  2974  	for i = uint32(0); i < n; i++ {
  2975  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2976  		speedtest1_run(tls)
  2977  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2978  	}
  2979  	speedtest1_end_test(tls)
  2980  
  2981  	n = uint32(g.szTest * 50)
  2982  	speedtest1_begin_test(tls, 160, ts+10721, libc.VaList(bp+184, n))
  2983  	speedtest1_prepare(tls, ts+10744, 0)
  2984  	for i = uint32(1); i <= n; i++ {
  2985  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1)))
  2986  		speedtest1_run(tls)
  2987  	}
  2988  	speedtest1_end_test(tls)
  2989  
  2990  	n = uint32(g.szTest * 5)
  2991  	speedtest1_begin_test(tls, 165, ts+10772, libc.VaList(bp+192, n))
  2992  	speedtest1_prepare(tls, ts+10813, 0)
  2993  	iStep = mxCoord / n
  2994  	for i = uint32(0); i < n; i++ {
  2995  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2996  		speedtest1_run(tls)
  2997  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2998  	}
  2999  	speedtest1_end_test(tls)
  3000  
  3001  	speedtest1_begin_test(tls, 170, ts+10855, 0)
  3002  	speedtest1_exec(tls, ts+10902, 0)
  3003  	speedtest1_end_test(tls)
  3004  }
  3005  
  3006  func testset_orm(tls *libc.TLS) {
  3007  	bp := tls.Alloc(2016)
  3008  	defer tls.Free(2016)
  3009  
  3010  	var i uint32
  3011  	var j uint32
  3012  	var n uint32
  3013  	var nRow uint32
  3014  	var x1 uint32
  3015  	var len uint32
  3016  
  3017  	nRow = libc.AssignUint32(&n, uint32(g.szTest*250))
  3018  	speedtest1_begin_test(tls, 100, ts+10945, libc.VaList(bp, n))
  3019  	speedtest1_exec(tls,
  3020  		ts+10958, 0)
  3021  	speedtest1_prepare(tls,
  3022  		ts+14858, 0)
  3023  	for i = uint32(0); i < n; i++ {
  3024  		x1 = speedtest1_random(tls)
  3025  		speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]uint8{})))
  3026  		len = uint32(int32(libc.Xstrlen(tls, bp+16)))
  3027  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf)))
  3028  		for j = uint32(0); zType[j] != 0; j++ {
  3029  			switch int32(zType[j]) {
  3030  			case 'I':
  3031  				fallthrough
  3032  			case 'T':
  3033  				sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1))
  3034  				break
  3035  			case 'F':
  3036  				sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1))
  3037  				break
  3038  			case 'V':
  3039  				fallthrough
  3040  			case 'B':
  3041  				sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len),
  3042  					uintptr(0), uint8(SQLITE_UTF8))
  3043  				break
  3044  			}
  3045  		}
  3046  		speedtest1_run(tls)
  3047  	}
  3048  	speedtest1_exec(tls, ts+3990, 0)
  3049  	speedtest1_end_test(tls)
  3050  
  3051  	n = uint32(g.szTest * 250)
  3052  	speedtest1_begin_test(tls, 110, ts+18102, libc.VaList(bp+8, n))
  3053  	speedtest1_prepare(tls,
  3054  		ts+18125, 0)
  3055  	for i = uint32(0); i < n; i++ {
  3056  		x1 = speedtest1_random(tls) % nRow
  3057  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  3058  		speedtest1_run(tls)
  3059  	}
  3060  	speedtest1_end_test(tls)
  3061  }
  3062  
  3063  var zType = *(*[120]uint8)(unsafe.Pointer(ts + 20878))
  3064  
  3065  func testset_trigger(tls *libc.TLS) {
  3066  	bp := tls.Alloc(2032)
  3067  	defer tls.Free(2032)
  3068  
  3069  	var jj int32
  3070  	var ii int32
  3071  
  3072  	var NROW int32 = 500 * g.szTest
  3073  	var NROW2 int32 = 100 * g.szTest
  3074  
  3075  	speedtest1_exec(tls,
  3076  		ts+20998, 0)
  3077  	for jj = 1; jj <= 3; jj++ {
  3078  		speedtest1_prepare(tls, ts+21326, libc.VaList(bp, jj))
  3079  		for ii = 0; ii < NROW; ii++ {
  3080  			var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW))
  3081  			speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3082  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1)
  3083  			sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3084  			speedtest1_run(tls)
  3085  		}
  3086  	}
  3087  	speedtest1_exec(tls,
  3088  		ts+21361, 0)
  3089  
  3090  	speedtest1_begin_test(tls, 100, ts+21444, 0)
  3091  	speedtest1_prepare(tls,
  3092  		ts+21458, 0)
  3093  	speedtest1_run(tls)
  3094  	speedtest1_end_test(tls)
  3095  
  3096  	speedtest1_begin_test(tls, 110, ts+21525, 0)
  3097  	speedtest1_prepare(tls,
  3098  		ts+21539, 0)
  3099  	speedtest1_run(tls)
  3100  	speedtest1_end_test(tls)
  3101  
  3102  	speedtest1_begin_test(tls, 120, ts+21598, 0)
  3103  	for jj = 1; jj <= 3; jj++ {
  3104  		speedtest1_prepare(tls, ts+21612, libc.VaList(bp+8, jj))
  3105  		for ii = 0; ii < NROW2; ii = ii + 3 {
  3106  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  3107  			speedtest1_run(tls)
  3108  		}
  3109  	}
  3110  	speedtest1_end_test(tls)
  3111  
  3112  	speedtest1_begin_test(tls, 130, ts+21646, 0)
  3113  	for jj = 1; jj <= 3; jj++ {
  3114  		speedtest1_prepare(tls, ts+21661, libc.VaList(bp+16, jj))
  3115  		for ii = 0; ii < NROW2; ii = ii + 3 {
  3116  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  3117  			speedtest1_run(tls)
  3118  		}
  3119  	}
  3120  	speedtest1_end_test(tls)
  3121  
  3122  	speedtest1_begin_test(tls, 140, ts+21646, 0)
  3123  	for jj = 1; jj <= 3; jj++ {
  3124  		speedtest1_prepare(tls, ts+21661, libc.VaList(bp+24, jj))
  3125  		for ii = 0; ii < NROW2; ii = ii + 3 {
  3126  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  3127  			speedtest1_run(tls)
  3128  		}
  3129  	}
  3130  	speedtest1_end_test(tls)
  3131  
  3132  	speedtest1_begin_test(tls, 150, ts+21695, 0)
  3133  	speedtest1_prepare(tls,
  3134  		ts+21714, 0)
  3135  	for jj = 0; jj < NROW2; jj++ {
  3136  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3)
  3137  		speedtest1_run(tls)
  3138  	}
  3139  	speedtest1_end_test(tls)
  3140  
  3141  	speedtest1_begin_test(tls, 160, ts+21829, 0)
  3142  	speedtest1_exec(tls, ts+2913, 0)
  3143  	speedtest1_prepare(tls, ts+21850, 0)
  3144  	for jj = 0; jj < NROW2; jj++ {
  3145  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3146  		speedtest1_run(tls)
  3147  	}
  3148  	speedtest1_exec(tls, ts+3023, 0)
  3149  	speedtest1_end_test(tls)
  3150  
  3151  	speedtest1_exec(tls, ts+21885, 0)
  3152  	speedtest1_begin_test(tls, 170, ts+21933, 0)
  3153  	speedtest1_exec(tls, ts+21955, 0)
  3154  	speedtest1_end_test(tls)
  3155  
  3156  	speedtest1_exec(tls,
  3157  		ts+22000, 0)
  3158  
  3159  	speedtest1_begin_test(tls, 180, ts+22490, 0)
  3160  	speedtest1_prepare(tls, ts+22507, 0)
  3161  	for jj = 0; jj < NROW2; jj++ {
  3162  		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3163  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3164  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3165  		speedtest1_run(tls)
  3166  	}
  3167  	speedtest1_end_test(tls)
  3168  
  3169  	speedtest1_begin_test(tls, 190, ts+22543, 0)
  3170  	speedtest1_prepare(tls, ts+22560, 0)
  3171  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3172  		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3173  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3174  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3175  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
  3176  		speedtest1_run(tls)
  3177  	}
  3178  	speedtest1_end_test(tls)
  3179  
  3180  	speedtest1_begin_test(tls, 200, ts+22606, 0)
  3181  	speedtest1_prepare(tls, ts+22623, 0)
  3182  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3183  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3184  		speedtest1_run(tls)
  3185  	}
  3186  	speedtest1_end_test(tls)
  3187  	speedtest1_exec(tls, ts+3023, 0)
  3188  
  3189  	speedtest1_exec(tls,
  3190  		ts+22655, 0)
  3191  	speedtest1_begin_test(tls, 210, ts+22760, 0)
  3192  	speedtest1_prepare(tls, ts+22507, 0)
  3193  	for jj = 0; jj < NROW2; jj++ {
  3194  		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3195  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3196  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3197  		speedtest1_run(tls)
  3198  	}
  3199  	speedtest1_end_test(tls)
  3200  	speedtest1_begin_test(tls, 210, ts+22779, 0)
  3201  	speedtest1_prepare(tls, ts+22560, 0)
  3202  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3203  		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3204  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3205  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3206  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
  3207  		speedtest1_run(tls)
  3208  	}
  3209  	speedtest1_end_test(tls)
  3210  	speedtest1_begin_test(tls, 220, ts+22798, 0)
  3211  	speedtest1_prepare(tls, ts+22623, 0)
  3212  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3213  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3214  		speedtest1_run(tls)
  3215  	}
  3216  	speedtest1_end_test(tls)
  3217  	speedtest1_exec(tls, ts+3023, 0)
  3218  }
  3219  
  3220  func testset_debug1(tls *libc.TLS) {
  3221  	bp := tls.Alloc(2032)
  3222  	defer tls.Free(2032)
  3223  
  3224  	var i uint32
  3225  	var n uint32
  3226  	var x1 uint32
  3227  	var x2 uint32
  3228  
  3229  	n = uint32(g.szTest)
  3230  	for i = uint32(1); i <= n; i++ {
  3231  		x1 = swizzle(tls, i, n)
  3232  		x2 = swizzle(tls, x1, n)
  3233  		speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3234  		libc.Xprintf(tls, ts+22817, libc.VaList(bp, i, x1, x2, bp+32))
  3235  	}
  3236  }
  3237  
  3238  func displayLinuxIoStats(tls *libc.TLS, out uintptr) {
  3239  	bp := tls.Alloc(224)
  3240  	defer tls.Free(224)
  3241  
  3242  	var in uintptr
  3243  
  3244  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]uint8{})), bp+24, ts+22833, libc.VaList(bp, libc.Xgetpid(tls)))
  3245  	in = libc.Xfopen(tls, bp+24, ts+22845)
  3246  	if in == uintptr(0) {
  3247  		return
  3248  	}
  3249  	for libc.Xfgets(tls, bp+24, int32(unsafe.Sizeof([200]uint8{})), in) != uintptr(0) {
  3250  		var i int32
  3251  		for i = 0; uint64(i) < uint64(unsafe.Sizeof(aTrans))/uint64(unsafe.Sizeof(struct {
  3252  			zPattern uintptr
  3253  			zDesc    uintptr
  3254  		}{})); i++ {
  3255  			var n int32 = int32(libc.Xstrlen(tls, aTrans[i].zPattern))
  3256  			if libc.Xstrncmp(tls, aTrans[i].zPattern, bp+24, uint64(n)) == 0 {
  3257  				libc.Xfprintf(tls, out, ts+22848, libc.VaList(bp+8, aTrans[i].zDesc, bp+24+uintptr(n)))
  3258  				break
  3259  			}
  3260  		}
  3261  	}
  3262  	libc.Xfclose(tls, in)
  3263  }
  3264  
  3265  var aTrans = [7]struct {
  3266  	zPattern uintptr
  3267  	zDesc    uintptr
  3268  }{
  3269  	{zPattern: ts + 22860, zDesc: ts + 22868},
  3270  	{zPattern: ts + 22894, zDesc: ts + 22902},
  3271  	{zPattern: ts + 22925, zDesc: ts + 22933},
  3272  	{zPattern: ts + 22954, zDesc: ts + 22962},
  3273  	{zPattern: ts + 22984, zDesc: ts + 22997},
  3274  	{zPattern: ts + 23022, zDesc: ts + 23036},
  3275  	{zPattern: ts + 23059, zDesc: ts + 23083},
  3276  }
  3277  
  3278  func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 {
  3279  	bp := tls.Alloc(8)
  3280  	defer tls.Free(8)
  3281  
  3282  	libc.Xprintf(tls, ts+23106, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal))))
  3283  	return SQLITE_OK
  3284  }
  3285  
  3286  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
  3287  	bp := tls.Alloc(576)
  3288  	defer tls.Free(576)
  3289  
  3290  	var doAutovac int32 = 0
  3291  	var cacheSize int32 = 0
  3292  	var doExclusive int32 = 0
  3293  	var nHeap int32 = 0
  3294  	var mnHeap int32 = 0
  3295  	var doIncrvac int32 = 0
  3296  	var zJMode uintptr = uintptr(0)
  3297  	var zKey uintptr = uintptr(0)
  3298  	var nLook int32 = -1
  3299  	var szLook int32 = 0
  3300  	var noSync int32 = 0
  3301  	var pageSize int32 = 0
  3302  	var nPCache int32 = 0
  3303  	var szPCache int32 = 0
  3304  	var doPCache int32 = 0
  3305  	var showStats int32 = 0
  3306  	var nThread int32 = 0
  3307  	var mmapSize int32 = 0
  3308  	var memDb int32 = 0
  3309  	var zTSet uintptr = ts + 23129
  3310  	var doTrace int32 = 0
  3311  	var zEncoding uintptr = uintptr(0)
  3312  	var zDbName uintptr = uintptr(0)
  3313  
  3314  	var pHeap uintptr = uintptr(0)
  3315  	var pLook uintptr = uintptr(0)
  3316  	var pPCache uintptr = uintptr(0)
  3317  
  3318  	var i int32
  3319  	var rc int32
  3320  
  3321  	libc.Xprintf(tls, ts+23134,
  3322  		libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls)))
  3323  
  3324  	g.zWR = ts + 2269
  3325  	g.zNN = ts + 2269
  3326  	g.zPK = ts + 23169
  3327  	g.szTest = 100
  3328  	g.nRepeat = 1
  3329  	for i = 1; i < argc; i++ {
  3330  		var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
  3331  		if int32(*(*uint8)(unsafe.Pointer(z))) == '-' {
  3332  			for __ccgo := true; __ccgo; __ccgo = int32(*(*uint8)(unsafe.Pointer(z))) == '-' {
  3333  				z++
  3334  			}
  3335  			if libc.Xstrcmp(tls, z, ts+23176) == 0 {
  3336  				doAutovac = 1
  3337  			} else if libc.Xstrcmp(tls, z, ts+23187) == 0 {
  3338  				if i >= argc-1 {
  3339  					fatal_error(tls, ts+23197, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3340  				}
  3341  				i++
  3342  				cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
  3343  			} else if libc.Xstrcmp(tls, z, ts+23221) == 0 {
  3344  				doExclusive = 1
  3345  			} else if libc.Xstrcmp(tls, z, ts+23231) == 0 {
  3346  				g.doCheckpoint = 1
  3347  			} else if libc.Xstrcmp(tls, z, ts+23242) == 0 {
  3348  				g.bSqlOnly = 1
  3349  				g.bExplain = 1
  3350  			} else if libc.Xstrcmp(tls, z, ts+23250) == 0 {
  3351  				if i >= argc-2 {
  3352  					fatal_error(tls, ts+23255, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3353  				}
  3354  				nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3355  				mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3356  				i = i + 2
  3357  			} else if libc.Xstrcmp(tls, z, ts+23280) == 0 {
  3358  				doIncrvac = 1
  3359  			} else if libc.Xstrcmp(tls, z, ts+23291) == 0 {
  3360  				if i >= argc-1 {
  3361  					fatal_error(tls, ts+23197, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3362  				}
  3363  				zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3364  			} else if libc.Xstrcmp(tls, z, ts+23299) == 0 {
  3365  				if i >= argc-1 {
  3366  					fatal_error(tls, ts+23197, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3367  				}
  3368  				zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3369  			} else if libc.Xstrcmp(tls, z, ts+23303) == 0 {
  3370  				if i >= argc-2 {
  3371  					fatal_error(tls, ts+23255, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3372  				}
  3373  				nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3374  				szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3375  				i = i + 2
  3376  			} else if libc.Xstrcmp(tls, z, ts+23313) == 0 {
  3377  				memDb = 1
  3378  			} else if libc.Xstrcmp(tls, z, ts+23319) == 0 {
  3379  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0)
  3380  			} else if libc.Xstrcmp(tls, z, ts+23331) == 0 {
  3381  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0))
  3382  			} else if libc.Xstrcmp(tls, z, ts+23341) == 0 {
  3383  				if i >= argc-1 {
  3384  					fatal_error(tls, ts+23197, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3385  				}
  3386  				mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3387  			} else if libc.Xstrcmp(tls, z, ts+23346) == 0 {
  3388  				noSync = 1
  3389  			} else if libc.Xstrcmp(tls, z, ts+23353) == 0 {
  3390  				g.zNN = ts + 23361
  3391  			} else if libc.Xstrcmp(tls, z, ts+23370) == 0 {
  3392  				if i >= argc-1 {
  3393  					fatal_error(tls, ts+23197, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3394  				}
  3395  				i++
  3396  				if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23377) == 0 {
  3397  					g.hashFile = libc.Xstdout
  3398  				} else {
  3399  					g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23379)
  3400  					if g.hashFile == uintptr(0) {
  3401  						fatal_error(tls, ts+23382, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3402  					}
  3403  				}
  3404  			} else if libc.Xstrcmp(tls, z, ts+23412) == 0 {
  3405  				if i >= argc-1 {
  3406  					fatal_error(tls, ts+23197, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3407  				}
  3408  				pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3409  			} else if libc.Xstrcmp(tls, z, ts+23421) == 0 {
  3410  				if i >= argc-2 {
  3411  					fatal_error(tls, ts+23255, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3412  				}
  3413  				nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3414  				szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3415  				doPCache = 1
  3416  				i = i + 2
  3417  			} else if libc.Xstrcmp(tls, z, ts+23428) == 0 {
  3418  				g.zPK = ts + 23439
  3419  			} else if libc.Xstrcmp(tls, z, ts+23451) == 0 {
  3420  				if i >= argc-1 {
  3421  					fatal_error(tls, ts+23255, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3422  				}
  3423  				g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3424  				i = i + 1
  3425  			} else if libc.Xstrcmp(tls, z, ts+23458) == 0 {
  3426  				g.bReprepare = 1
  3427  			} else if libc.Xstrcmp(tls, z, ts+23468) == 0 {
  3428  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0)
  3429  			} else if libc.Xstrcmp(tls, z, ts+23479) == 0 {
  3430  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0)
  3431  			} else if libc.Xstrcmp(tls, z, ts+23492) == 0 {
  3432  				g.bSqlOnly = 1
  3433  			} else if libc.Xstrcmp(tls, z, ts+23500) == 0 {
  3434  				g.bMemShrink = 1
  3435  			} else if libc.Xstrcmp(tls, z, ts+23514) == 0 {
  3436  				if i >= argc-1 {
  3437  					fatal_error(tls, ts+23197, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3438  				}
  3439  				g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3440  			} else if libc.Xstrcmp(tls, z, ts+23519) == 0 {
  3441  				showStats = 1
  3442  			} else if libc.Xstrcmp(tls, z, ts+23525) == 0 {
  3443  				if i >= argc-1 {
  3444  					fatal_error(tls, ts+23197, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3445  				}
  3446  				i++
  3447  				if int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) < '0' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) > '9' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) + 1))) != 0 {
  3448  					fatal_error(tls, ts+23530, 0)
  3449  				}
  3450  				g.eTemp = int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) - '0'
  3451  			} else if libc.Xstrcmp(tls, z, ts+23583) == 0 {
  3452  				if i >= argc-1 {
  3453  					fatal_error(tls, ts+23197, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3454  				}
  3455  				zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3456  			} else if libc.Xstrcmp(tls, z, ts+23591) == 0 {
  3457  				doTrace = 1
  3458  			} else if libc.Xstrcmp(tls, z, ts+23597) == 0 {
  3459  				if i >= argc-1 {
  3460  					fatal_error(tls, ts+23197, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3461  				}
  3462  				nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3463  			} else if libc.Xstrcmp(tls, z, ts+23605) == 0 {
  3464  				zEncoding = ts + 23605
  3465  			} else if libc.Xstrcmp(tls, z, ts+23613) == 0 {
  3466  				zEncoding = ts + 23613
  3467  			} else if libc.Xstrcmp(tls, z, ts+23621) == 0 {
  3468  				g.bVerify = 1
  3469  				HashInit(tls)
  3470  			} else if libc.Xstrcmp(tls, z, ts+23628) == 0 {
  3471  				if i >= argc-1 {
  3472  					fatal_error(tls, ts+23197, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3473  				}
  3474  				g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3475  			} else if libc.Xstrcmp(tls, z, ts+23636) == 0 {
  3476  				if libc.Xstrstr(tls, g.zWR, ts+23650) != uintptr(0) {
  3477  				} else if libc.Xstrstr(tls, g.zWR, ts+23658) != uintptr(0) {
  3478  					g.zWR = ts + 23665
  3479  				} else {
  3480  					g.zWR = ts + 6036
  3481  				}
  3482  				g.zPK = ts + 23439
  3483  			} else if libc.Xstrcmp(tls, z, ts+23686) == 0 {
  3484  				if libc.Xstrstr(tls, g.zWR, ts+23658) != uintptr(0) {
  3485  				} else if libc.Xstrstr(tls, g.zWR, ts+23650) != uintptr(0) {
  3486  					g.zWR = ts + 23665
  3487  				} else {
  3488  					g.zWR = ts + 23658
  3489  				}
  3490  			} else if libc.Xstrcmp(tls, z, ts+23693) == 0 || libc.Xstrcmp(tls, z, ts+23698) == 0 {
  3491  				libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv))))
  3492  				libc.Xexit(tls, 0)
  3493  			} else {
  3494  				fatal_error(tls, ts+23700,
  3495  					libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
  3496  			}
  3497  		} else if zDbName == uintptr(0) {
  3498  			zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
  3499  		} else {
  3500  			fatal_error(tls, ts+23741,
  3501  				libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
  3502  		}
  3503  	}
  3504  	if zDbName != uintptr(0) {
  3505  		libc.Xunlink(tls, zDbName)
  3506  	}
  3507  	if nHeap > 0 {
  3508  		pHeap = libc.Xmalloc(tls, uint64(nHeap))
  3509  		if pHeap == uintptr(0) {
  3510  			fatal_error(tls, ts+23784, libc.VaList(bp+192, nHeap))
  3511  		}
  3512  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap))
  3513  		if rc != 0 {
  3514  			fatal_error(tls, ts+23814, libc.VaList(bp+224, rc))
  3515  		}
  3516  	}
  3517  	if doPCache != 0 {
  3518  		if nPCache > 0 && szPCache > 0 {
  3519  			pPCache = libc.Xmalloc(tls, uint64(sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
  3520  			if pPCache == uintptr(0) {
  3521  				fatal_error(tls, ts+23845,
  3522  					libc.VaList(bp+232, sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
  3523  			}
  3524  		}
  3525  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache))
  3526  		if rc != 0 {
  3527  			fatal_error(tls, ts+23879, libc.VaList(bp+264, rc))
  3528  		}
  3529  	}
  3530  	if nLook >= 0 {
  3531  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0))
  3532  	}
  3533  	sqlite3.Xsqlite3_initialize(tls)
  3534  
  3535  	if sqlite3.Xsqlite3_open(tls, func() uintptr {
  3536  		if memDb != 0 {
  3537  			return ts + 23912
  3538  		}
  3539  		return zDbName
  3540  	}(), uintptr(unsafe.Pointer(&g))) != 0 {
  3541  		fatal_error(tls, ts+23921, libc.VaList(bp+288, zDbName))
  3542  	}
  3543  	if nLook > 0 && szLook > 0 {
  3544  		pLook = libc.Xmalloc(tls, uint64(nLook*szLook))
  3545  		rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook))
  3546  		if rc != 0 {
  3547  			fatal_error(tls, ts+23952, libc.VaList(bp+320, rc))
  3548  		}
  3549  	}
  3550  	if g.nReserve > 0 {
  3551  		sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+72)
  3552  	}
  3553  
  3554  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+23988, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
  3555  		f func(*libc.TLS, uintptr, int32, uintptr)
  3556  	}{randomFunc})), uintptr(0), uintptr(0))
  3557  	if doTrace != 0 {
  3558  		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  3559  			f func(*libc.TLS, uintptr, uintptr)
  3560  		}{traceCallback})), uintptr(0))
  3561  	}
  3562  	if memDb > 0 {
  3563  		speedtest1_exec(tls, ts+23995, 0)
  3564  	}
  3565  	if mmapSize > 0 {
  3566  		speedtest1_exec(tls, ts+24020, libc.VaList(bp+328, mmapSize))
  3567  	}
  3568  	speedtest1_exec(tls, ts+24040, libc.VaList(bp+336, nThread))
  3569  	if zKey != 0 {
  3570  		speedtest1_exec(tls, ts+24058, libc.VaList(bp+344, zKey))
  3571  	}
  3572  	if zEncoding != 0 {
  3573  		speedtest1_exec(tls, ts+24075, libc.VaList(bp+352, zEncoding))
  3574  	}
  3575  	if doAutovac != 0 {
  3576  		speedtest1_exec(tls, ts+24094, 0)
  3577  	} else if doIncrvac != 0 {
  3578  		speedtest1_exec(tls, ts+24118, 0)
  3579  	}
  3580  	if pageSize != 0 {
  3581  		speedtest1_exec(tls, ts+24149, libc.VaList(bp+360, pageSize))
  3582  	}
  3583  	if cacheSize != 0 {
  3584  		speedtest1_exec(tls, ts+24169, libc.VaList(bp+368, cacheSize))
  3585  	}
  3586  	if noSync != 0 {
  3587  		speedtest1_exec(tls, ts+24190, 0)
  3588  	}
  3589  	if doExclusive != 0 {
  3590  		speedtest1_exec(tls, ts+24213, 0)
  3591  	}
  3592  	if zJMode != 0 {
  3593  		speedtest1_exec(tls, ts+24243, libc.VaList(bp+376, zJMode))
  3594  	}
  3595  
  3596  	if g.bExplain != 0 {
  3597  		libc.Xprintf(tls, ts+24266, 0)
  3598  	}
  3599  	for __ccgo1 := true; __ccgo1; __ccgo1 = *(*uint8)(unsafe.Pointer(zTSet)) != 0 {
  3600  		var zThisTest uintptr = zTSet
  3601  		var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',')
  3602  		if zComma != 0 {
  3603  			*(*uint8)(unsafe.Pointer(zComma)) = uint8(0)
  3604  			zTSet = zComma + uintptr(1)
  3605  		} else {
  3606  			zTSet = ts + 2269
  3607  		}
  3608  		if g.iTotal > int64(0) || zComma != uintptr(0) {
  3609  			libc.Xprintf(tls, ts+24285, libc.VaList(bp+384, zThisTest))
  3610  		}
  3611  		if libc.Xstrcmp(tls, zThisTest, ts+23129) == 0 {
  3612  			testset_main(tls)
  3613  		} else if libc.Xstrcmp(tls, zThisTest, ts+24312) == 0 {
  3614  			testset_debug1(tls)
  3615  		} else if libc.Xstrcmp(tls, zThisTest, ts+24319) == 0 {
  3616  			testset_orm(tls)
  3617  		} else if libc.Xstrcmp(tls, zThisTest, ts+24323) == 0 {
  3618  			testset_cte(tls)
  3619  		} else if libc.Xstrcmp(tls, zThisTest, ts+24327) == 0 {
  3620  			testset_fp(tls)
  3621  		} else if libc.Xstrcmp(tls, zThisTest, ts+24330) == 0 {
  3622  			testset_trigger(tls)
  3623  		} else if libc.Xstrcmp(tls, zThisTest, ts+24338) == 0 {
  3624  			testset_rtree(tls, 6, 147)
  3625  		} else {
  3626  			fatal_error(tls,
  3627  				ts+24344,
  3628  				libc.VaList(bp+392, zThisTest))
  3629  		}
  3630  		if *(*uint8)(unsafe.Pointer(zTSet)) != 0 {
  3631  			var zSql uintptr
  3632  			var zObj uintptr
  3633  			speedtest1_begin_test(tls, 999, ts+24413, 0)
  3634  			for 1 != 0 {
  3635  				zObj = speedtest1_once(tls,
  3636  					ts+24432, 0)
  3637  				if zObj == uintptr(0) {
  3638  					break
  3639  				}
  3640  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24502, libc.VaList(bp+400, zObj))
  3641  				speedtest1_exec(tls, zSql, 0)
  3642  				sqlite3.Xsqlite3_free(tls, zSql)
  3643  				sqlite3.Xsqlite3_free(tls, zObj)
  3644  			}
  3645  			for 1 != 0 {
  3646  				zObj = speedtest1_once(tls,
  3647  					ts+24523, 0)
  3648  				if zObj == uintptr(0) {
  3649  					break
  3650  				}
  3651  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24502, libc.VaList(bp+408, zObj))
  3652  				speedtest1_exec(tls, zSql, 0)
  3653  				sqlite3.Xsqlite3_free(tls, zSql)
  3654  				sqlite3.Xsqlite3_free(tls, zObj)
  3655  			}
  3656  			speedtest1_end_test(tls)
  3657  		}
  3658  	}
  3659  	speedtest1_final(tls)
  3660  
  3661  	if showStats != 0 {
  3662  		sqlite3.Xsqlite3_exec(tls, g.db, ts+24593, *(*uintptr)(unsafe.Pointer(&struct {
  3663  			f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  3664  		}{xCompileOptions})), uintptr(0), uintptr(0))
  3665  	}
  3666  
  3667  	if showStats != 0 {
  3668  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568, bp+572, 0)
  3669  		libc.Xprintf(tls, ts+24616, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3670  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568, bp+572, 0)
  3671  		libc.Xprintf(tls, ts+24661, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572))))
  3672  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568, bp+572, 0)
  3673  		libc.Xprintf(tls, ts+24697, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572))))
  3674  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568, bp+572, 0)
  3675  		libc.Xprintf(tls, ts+24733, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572))))
  3676  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568, bp+572, 0)
  3677  		libc.Xprintf(tls, ts+24769, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568))))
  3678  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568, bp+572, 1)
  3679  		libc.Xprintf(tls, ts+24811, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568))))
  3680  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568, bp+572, 1)
  3681  		libc.Xprintf(tls, ts+24847, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568))))
  3682  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568, bp+572, 1)
  3683  		libc.Xprintf(tls, ts+24883, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568))))
  3684  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568, bp+572, 0)
  3685  		libc.Xprintf(tls, ts+24919, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568))))
  3686  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568, bp+572, 0)
  3687  		libc.Xprintf(tls, ts+24961, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568))))
  3688  	}
  3689  
  3690  	sqlite3.Xsqlite3_close(tls, g.db)
  3691  
  3692  	if showStats != 0 {
  3693  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568, bp+572, 0)
  3694  		libc.Xprintf(tls, ts+25003, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3695  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568, bp+572, 0)
  3696  		libc.Xprintf(tls, ts+25048, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3697  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568, bp+572, 0)
  3698  		libc.Xprintf(tls, ts+25093, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3699  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568, bp+572, 0)
  3700  		libc.Xprintf(tls, ts+25138, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572))))
  3701  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568, bp+572, 0)
  3702  		libc.Xprintf(tls, ts+25180, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572))))
  3703  	}
  3704  
  3705  	if showStats != 0 {
  3706  		displayLinuxIoStats(tls, libc.Xstdout)
  3707  	}
  3708  
  3709  	libc.Xfree(tls, pLook)
  3710  	libc.Xfree(tls, pPCache)
  3711  	libc.Xfree(tls, pHeap)
  3712  	return 0
  3713  }
  3714  
  3715  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/proc/%d/io\x00rb\x00-- %-28s %s\x00rchar: \x00Bytes received by read():\x00wchar: \x00Bytes sent to write():\x00syscr: \x00Read() system calls:\x00syscw: \x00Write() system calls:\x00read_bytes: \x00Bytes rcvd from storage:\x00write_bytes: \x00Bytes sent to storage:\x00cancelled_write_bytes: \x00Cancelled write bytes:\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"
  3716  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data