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

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