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

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