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

     1  // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_linux_s390x.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                            = 4321
    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  	_PC_LINK_MAX           = 0
   733  	_PC_MAX_CANON          = 1
   734  	_PC_MAX_INPUT          = 2
   735  	_PC_NAME_MAX           = 3
   736  	_PC_PATH_MAX           = 4
   737  	_PC_PIPE_BUF           = 5
   738  	_PC_CHOWN_RESTRICTED   = 6
   739  	_PC_NO_TRUNC           = 7
   740  	_PC_VDISABLE           = 8
   741  	_PC_SYNC_IO            = 9
   742  	_PC_ASYNC_IO           = 10
   743  	_PC_PRIO_IO            = 11
   744  	_PC_SOCK_MAXBUF        = 12
   745  	_PC_FILESIZEBITS       = 13
   746  	_PC_REC_INCR_XFER_SIZE = 14
   747  	_PC_REC_MAX_XFER_SIZE  = 15
   748  	_PC_REC_MIN_XFER_SIZE  = 16
   749  	_PC_REC_XFER_ALIGN     = 17
   750  	_PC_ALLOC_SIZE_MIN     = 18
   751  	_PC_SYMLINK_MAX        = 19
   752  	_PC_2_SYMLINKS         = 20
   753  )
   754  
   755  const (
   756  	_CS_PATH = 0
   757  
   758  	_CS_V6_WIDTH_RESTRICTED_ENVS = 1
   759  
   760  	_CS_GNU_LIBC_VERSION       = 2
   761  	_CS_GNU_LIBPTHREAD_VERSION = 3
   762  
   763  	_CS_V5_WIDTH_RESTRICTED_ENVS = 4
   764  
   765  	_CS_V7_WIDTH_RESTRICTED_ENVS = 5
   766  
   767  	_CS_LFS_CFLAGS      = 1000
   768  	_CS_LFS_LDFLAGS     = 1001
   769  	_CS_LFS_LIBS        = 1002
   770  	_CS_LFS_LINTFLAGS   = 1003
   771  	_CS_LFS64_CFLAGS    = 1004
   772  	_CS_LFS64_LDFLAGS   = 1005
   773  	_CS_LFS64_LIBS      = 1006
   774  	_CS_LFS64_LINTFLAGS = 1007
   775  
   776  	_CS_XBS5_ILP32_OFF32_CFLAGS     = 1100
   777  	_CS_XBS5_ILP32_OFF32_LDFLAGS    = 1101
   778  	_CS_XBS5_ILP32_OFF32_LIBS       = 1102
   779  	_CS_XBS5_ILP32_OFF32_LINTFLAGS  = 1103
   780  	_CS_XBS5_ILP32_OFFBIG_CFLAGS    = 1104
   781  	_CS_XBS5_ILP32_OFFBIG_LDFLAGS   = 1105
   782  	_CS_XBS5_ILP32_OFFBIG_LIBS      = 1106
   783  	_CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107
   784  	_CS_XBS5_LP64_OFF64_CFLAGS      = 1108
   785  	_CS_XBS5_LP64_OFF64_LDFLAGS     = 1109
   786  	_CS_XBS5_LP64_OFF64_LIBS        = 1110
   787  	_CS_XBS5_LP64_OFF64_LINTFLAGS   = 1111
   788  	_CS_XBS5_LPBIG_OFFBIG_CFLAGS    = 1112
   789  	_CS_XBS5_LPBIG_OFFBIG_LDFLAGS   = 1113
   790  	_CS_XBS5_LPBIG_OFFBIG_LIBS      = 1114
   791  	_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115
   792  
   793  	_CS_POSIX_V6_ILP32_OFF32_CFLAGS     = 1116
   794  	_CS_POSIX_V6_ILP32_OFF32_LDFLAGS    = 1117
   795  	_CS_POSIX_V6_ILP32_OFF32_LIBS       = 1118
   796  	_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS  = 1119
   797  	_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS    = 1120
   798  	_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS   = 1121
   799  	_CS_POSIX_V6_ILP32_OFFBIG_LIBS      = 1122
   800  	_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
   801  	_CS_POSIX_V6_LP64_OFF64_CFLAGS      = 1124
   802  	_CS_POSIX_V6_LP64_OFF64_LDFLAGS     = 1125
   803  	_CS_POSIX_V6_LP64_OFF64_LIBS        = 1126
   804  	_CS_POSIX_V6_LP64_OFF64_LINTFLAGS   = 1127
   805  	_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS    = 1128
   806  	_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS   = 1129
   807  	_CS_POSIX_V6_LPBIG_OFFBIG_LIBS      = 1130
   808  	_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
   809  
   810  	_CS_POSIX_V7_ILP32_OFF32_CFLAGS     = 1132
   811  	_CS_POSIX_V7_ILP32_OFF32_LDFLAGS    = 1133
   812  	_CS_POSIX_V7_ILP32_OFF32_LIBS       = 1134
   813  	_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS  = 1135
   814  	_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS    = 1136
   815  	_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS   = 1137
   816  	_CS_POSIX_V7_ILP32_OFFBIG_LIBS      = 1138
   817  	_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
   818  	_CS_POSIX_V7_LP64_OFF64_CFLAGS      = 1140
   819  	_CS_POSIX_V7_LP64_OFF64_LDFLAGS     = 1141
   820  	_CS_POSIX_V7_LP64_OFF64_LIBS        = 1142
   821  	_CS_POSIX_V7_LP64_OFF64_LINTFLAGS   = 1143
   822  	_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS    = 1144
   823  	_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS   = 1145
   824  	_CS_POSIX_V7_LPBIG_OFFBIG_LIBS      = 1146
   825  	_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
   826  
   827  	_CS_V6_ENV = 1148
   828  	_CS_V7_ENV = 1149
   829  )
   830  
   831  const (
   832  	_SC_ARG_MAX               = 0
   833  	_SC_CHILD_MAX             = 1
   834  	_SC_CLK_TCK               = 2
   835  	_SC_NGROUPS_MAX           = 3
   836  	_SC_OPEN_MAX              = 4
   837  	_SC_STREAM_MAX            = 5
   838  	_SC_TZNAME_MAX            = 6
   839  	_SC_JOB_CONTROL           = 7
   840  	_SC_SAVED_IDS             = 8
   841  	_SC_REALTIME_SIGNALS      = 9
   842  	_SC_PRIORITY_SCHEDULING   = 10
   843  	_SC_TIMERS                = 11
   844  	_SC_ASYNCHRONOUS_IO       = 12
   845  	_SC_PRIORITIZED_IO        = 13
   846  	_SC_SYNCHRONIZED_IO       = 14
   847  	_SC_FSYNC                 = 15
   848  	_SC_MAPPED_FILES          = 16
   849  	_SC_MEMLOCK               = 17
   850  	_SC_MEMLOCK_RANGE         = 18
   851  	_SC_MEMORY_PROTECTION     = 19
   852  	_SC_MESSAGE_PASSING       = 20
   853  	_SC_SEMAPHORES            = 21
   854  	_SC_SHARED_MEMORY_OBJECTS = 22
   855  	_SC_AIO_LISTIO_MAX        = 23
   856  	_SC_AIO_MAX               = 24
   857  	_SC_AIO_PRIO_DELTA_MAX    = 25
   858  	_SC_DELAYTIMER_MAX        = 26
   859  	_SC_MQ_OPEN_MAX           = 27
   860  	_SC_MQ_PRIO_MAX           = 28
   861  	_SC_VERSION               = 29
   862  	_SC_PAGESIZE              = 30
   863  	_SC_RTSIG_MAX             = 31
   864  	_SC_SEM_NSEMS_MAX         = 32
   865  	_SC_SEM_VALUE_MAX         = 33
   866  	_SC_SIGQUEUE_MAX          = 34
   867  	_SC_TIMER_MAX             = 35
   868  
   869  	_SC_BC_BASE_MAX        = 36
   870  	_SC_BC_DIM_MAX         = 37
   871  	_SC_BC_SCALE_MAX       = 38
   872  	_SC_BC_STRING_MAX      = 39
   873  	_SC_COLL_WEIGHTS_MAX   = 40
   874  	_SC_EQUIV_CLASS_MAX    = 41
   875  	_SC_EXPR_NEST_MAX      = 42
   876  	_SC_LINE_MAX           = 43
   877  	_SC_RE_DUP_MAX         = 44
   878  	_SC_CHARCLASS_NAME_MAX = 45
   879  
   880  	_SC_2_VERSION   = 46
   881  	_SC_2_C_BIND    = 47
   882  	_SC_2_C_DEV     = 48
   883  	_SC_2_FORT_DEV  = 49
   884  	_SC_2_FORT_RUN  = 50
   885  	_SC_2_SW_DEV    = 51
   886  	_SC_2_LOCALEDEF = 52
   887  
   888  	_SC_PII                 = 53
   889  	_SC_PII_XTI             = 54
   890  	_SC_PII_SOCKET          = 55
   891  	_SC_PII_INTERNET        = 56
   892  	_SC_PII_OSI             = 57
   893  	_SC_POLL                = 58
   894  	_SC_SELECT              = 59
   895  	_SC_UIO_MAXIOV          = 60
   896  	_SC_IOV_MAX             = 60
   897  	_SC_PII_INTERNET_STREAM = 61
   898  	_SC_PII_INTERNET_DGRAM  = 62
   899  	_SC_PII_OSI_COTS        = 63
   900  	_SC_PII_OSI_CLTS        = 64
   901  	_SC_PII_OSI_M           = 65
   902  	_SC_T_IOV_MAX           = 66
   903  
   904  	_SC_THREADS                      = 67
   905  	_SC_THREAD_SAFE_FUNCTIONS        = 68
   906  	_SC_GETGR_R_SIZE_MAX             = 69
   907  	_SC_GETPW_R_SIZE_MAX             = 70
   908  	_SC_LOGIN_NAME_MAX               = 71
   909  	_SC_TTY_NAME_MAX                 = 72
   910  	_SC_THREAD_DESTRUCTOR_ITERATIONS = 73
   911  	_SC_THREAD_KEYS_MAX              = 74
   912  	_SC_THREAD_STACK_MIN             = 75
   913  	_SC_THREAD_THREADS_MAX           = 76
   914  	_SC_THREAD_ATTR_STACKADDR        = 77
   915  	_SC_THREAD_ATTR_STACKSIZE        = 78
   916  	_SC_THREAD_PRIORITY_SCHEDULING   = 79
   917  	_SC_THREAD_PRIO_INHERIT          = 80
   918  	_SC_THREAD_PRIO_PROTECT          = 81
   919  	_SC_THREAD_PROCESS_SHARED        = 82
   920  
   921  	_SC_NPROCESSORS_CONF = 83
   922  	_SC_NPROCESSORS_ONLN = 84
   923  	_SC_PHYS_PAGES       = 85
   924  	_SC_AVPHYS_PAGES     = 86
   925  	_SC_ATEXIT_MAX       = 87
   926  	_SC_PASS_MAX         = 88
   927  
   928  	_SC_XOPEN_VERSION     = 89
   929  	_SC_XOPEN_XCU_VERSION = 90
   930  	_SC_XOPEN_UNIX        = 91
   931  	_SC_XOPEN_CRYPT       = 92
   932  	_SC_XOPEN_ENH_I18N    = 93
   933  	_SC_XOPEN_SHM         = 94
   934  
   935  	_SC_2_CHAR_TERM = 95
   936  	_SC_2_C_VERSION = 96
   937  	_SC_2_UPE       = 97
   938  
   939  	_SC_XOPEN_XPG2 = 98
   940  	_SC_XOPEN_XPG3 = 99
   941  	_SC_XOPEN_XPG4 = 100
   942  
   943  	_SC_CHAR_BIT   = 101
   944  	_SC_CHAR_MAX   = 102
   945  	_SC_CHAR_MIN   = 103
   946  	_SC_INT_MAX    = 104
   947  	_SC_INT_MIN    = 105
   948  	_SC_LONG_BIT   = 106
   949  	_SC_WORD_BIT   = 107
   950  	_SC_MB_LEN_MAX = 108
   951  	_SC_NZERO      = 109
   952  	_SC_SSIZE_MAX  = 110
   953  	_SC_SCHAR_MAX  = 111
   954  	_SC_SCHAR_MIN  = 112
   955  	_SC_SHRT_MAX   = 113
   956  	_SC_SHRT_MIN   = 114
   957  	_SC_UCHAR_MAX  = 115
   958  	_SC_UINT_MAX   = 116
   959  	_SC_ULONG_MAX  = 117
   960  	_SC_USHRT_MAX  = 118
   961  
   962  	_SC_NL_ARGMAX  = 119
   963  	_SC_NL_LANGMAX = 120
   964  	_SC_NL_MSGMAX  = 121
   965  	_SC_NL_NMAX    = 122
   966  	_SC_NL_SETMAX  = 123
   967  	_SC_NL_TEXTMAX = 124
   968  
   969  	_SC_XBS5_ILP32_OFF32  = 125
   970  	_SC_XBS5_ILP32_OFFBIG = 126
   971  	_SC_XBS5_LP64_OFF64   = 127
   972  	_SC_XBS5_LPBIG_OFFBIG = 128
   973  
   974  	_SC_XOPEN_LEGACY           = 129
   975  	_SC_XOPEN_REALTIME         = 130
   976  	_SC_XOPEN_REALTIME_THREADS = 131
   977  
   978  	_SC_ADVISORY_INFO          = 132
   979  	_SC_BARRIERS               = 133
   980  	_SC_BASE                   = 134
   981  	_SC_C_LANG_SUPPORT         = 135
   982  	_SC_C_LANG_SUPPORT_R       = 136
   983  	_SC_CLOCK_SELECTION        = 137
   984  	_SC_CPUTIME                = 138
   985  	_SC_THREAD_CPUTIME         = 139
   986  	_SC_DEVICE_IO              = 140
   987  	_SC_DEVICE_SPECIFIC        = 141
   988  	_SC_DEVICE_SPECIFIC_R      = 142
   989  	_SC_FD_MGMT                = 143
   990  	_SC_FIFO                   = 144
   991  	_SC_PIPE                   = 145
   992  	_SC_FILE_ATTRIBUTES        = 146
   993  	_SC_FILE_LOCKING           = 147
   994  	_SC_FILE_SYSTEM            = 148
   995  	_SC_MONOTONIC_CLOCK        = 149
   996  	_SC_MULTI_PROCESS          = 150
   997  	_SC_SINGLE_PROCESS         = 151
   998  	_SC_NETWORKING             = 152
   999  	_SC_READER_WRITER_LOCKS    = 153
  1000  	_SC_SPIN_LOCKS             = 154
  1001  	_SC_REGEXP                 = 155
  1002  	_SC_REGEX_VERSION          = 156
  1003  	_SC_SHELL                  = 157
  1004  	_SC_SIGNALS                = 158
  1005  	_SC_SPAWN                  = 159
  1006  	_SC_SPORADIC_SERVER        = 160
  1007  	_SC_THREAD_SPORADIC_SERVER = 161
  1008  	_SC_SYSTEM_DATABASE        = 162
  1009  	_SC_SYSTEM_DATABASE_R      = 163
  1010  	_SC_TIMEOUTS               = 164
  1011  	_SC_TYPED_MEMORY_OBJECTS   = 165
  1012  	_SC_USER_GROUPS            = 166
  1013  	_SC_USER_GROUPS_R          = 167
  1014  	_SC_2_PBS                  = 168
  1015  	_SC_2_PBS_ACCOUNTING       = 169
  1016  	_SC_2_PBS_LOCATE           = 170
  1017  	_SC_2_PBS_MESSAGE          = 171
  1018  	_SC_2_PBS_TRACK            = 172
  1019  	_SC_SYMLOOP_MAX            = 173
  1020  	_SC_STREAMS                = 174
  1021  	_SC_2_PBS_CHECKPOINT       = 175
  1022  
  1023  	_SC_V6_ILP32_OFF32  = 176
  1024  	_SC_V6_ILP32_OFFBIG = 177
  1025  	_SC_V6_LP64_OFF64   = 178
  1026  	_SC_V6_LPBIG_OFFBIG = 179
  1027  
  1028  	_SC_HOST_NAME_MAX      = 180
  1029  	_SC_TRACE              = 181
  1030  	_SC_TRACE_EVENT_FILTER = 182
  1031  	_SC_TRACE_INHERIT      = 183
  1032  	_SC_TRACE_LOG          = 184
  1033  
  1034  	_SC_LEVEL1_ICACHE_SIZE     = 185
  1035  	_SC_LEVEL1_ICACHE_ASSOC    = 186
  1036  	_SC_LEVEL1_ICACHE_LINESIZE = 187
  1037  	_SC_LEVEL1_DCACHE_SIZE     = 188
  1038  	_SC_LEVEL1_DCACHE_ASSOC    = 189
  1039  	_SC_LEVEL1_DCACHE_LINESIZE = 190
  1040  	_SC_LEVEL2_CACHE_SIZE      = 191
  1041  	_SC_LEVEL2_CACHE_ASSOC     = 192
  1042  	_SC_LEVEL2_CACHE_LINESIZE  = 193
  1043  	_SC_LEVEL3_CACHE_SIZE      = 194
  1044  	_SC_LEVEL3_CACHE_ASSOC     = 195
  1045  	_SC_LEVEL3_CACHE_LINESIZE  = 196
  1046  	_SC_LEVEL4_CACHE_SIZE      = 197
  1047  	_SC_LEVEL4_CACHE_ASSOC     = 198
  1048  	_SC_LEVEL4_CACHE_LINESIZE  = 199
  1049  
  1050  	_SC_IPV6        = 235
  1051  	_SC_RAW_SOCKETS = 236
  1052  
  1053  	_SC_V7_ILP32_OFF32  = 237
  1054  	_SC_V7_ILP32_OFFBIG = 238
  1055  	_SC_V7_LP64_OFF64   = 239
  1056  	_SC_V7_LPBIG_OFFBIG = 240
  1057  
  1058  	_SC_SS_REPL_MAX = 241
  1059  
  1060  	_SC_TRACE_EVENT_NAME_MAX = 242
  1061  	_SC_TRACE_NAME_MAX       = 243
  1062  	_SC_TRACE_SYS_MAX        = 244
  1063  	_SC_TRACE_USER_EVENT_MAX = 245
  1064  
  1065  	_SC_XOPEN_STREAMS = 246
  1066  
  1067  	_SC_THREAD_ROBUST_PRIO_INHERIT = 247
  1068  	_SC_THREAD_ROBUST_PRIO_PROTECT = 248
  1069  )
  1070  
  1071  const (
  1072  	P_ALL  = 0
  1073  	P_PID  = 1
  1074  	P_PGID = 2
  1075  )
  1076  
  1077  const (
  1078  	_ISupper  = 1
  1079  	_ISlower  = 2
  1080  	_ISalpha  = 4
  1081  	_ISdigit  = 8
  1082  	_ISxdigit = 16
  1083  	_ISspace  = 32
  1084  	_ISprint  = 64
  1085  	_ISgraph  = 128
  1086  	_ISblank  = 256
  1087  	_IScntrl  = 512
  1088  	_ISpunct  = 1024
  1089  	_ISalnum  = 2048
  1090  )
  1091  
  1092  type ptrdiff_t = int64
  1093  
  1094  type size_t = uint64
  1095  
  1096  type wchar_t = int32
  1097  
  1098  var zHelp = *(*[2263]uint8)(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]uint8
  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]uint8
  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  	__pad1          uint64
  1593  	__pad2          uint64
  1594  	__flags         uint32
  1595  	_               [4]byte
  1596  }
  1597  
  1598  type __pthread_cond_s = struct {
  1599  	__0            struct{ __wseq uint64 }
  1600  	__8            struct{ __g1_start uint64 }
  1601  	__g_refs       [2]uint32
  1602  	__g_size       [2]uint32
  1603  	__g1_orig_size uint32
  1604  	__wrefs        uint32
  1605  	__g_signals    [2]uint32
  1606  }
  1607  
  1608  type pthread_t = uint64
  1609  
  1610  type pthread_mutexattr_t = struct {
  1611  	_      [0]uint32
  1612  	__size [4]uint8
  1613  }
  1614  
  1615  type pthread_condattr_t = struct {
  1616  	_      [0]uint32
  1617  	__size [4]uint8
  1618  }
  1619  
  1620  type pthread_key_t = uint32
  1621  
  1622  type pthread_once_t = int32
  1623  
  1624  type pthread_attr_t1 = struct {
  1625  	_      [0]uint64
  1626  	__size [56]uint8
  1627  }
  1628  
  1629  type pthread_attr_t = pthread_attr_t1
  1630  
  1631  type pthread_mutex_t = struct{ __data __pthread_mutex_s }
  1632  
  1633  type pthread_cond_t = struct{ __data __pthread_cond_s }
  1634  
  1635  type pthread_rwlock_t = struct{ __data __pthread_rwlock_arch_t }
  1636  
  1637  type pthread_rwlockattr_t = struct {
  1638  	_      [0]uint64
  1639  	__size [8]uint8
  1640  }
  1641  
  1642  type pthread_spinlock_t = int32
  1643  
  1644  type pthread_barrier_t = struct {
  1645  	_      [0]uint64
  1646  	__size [32]uint8
  1647  }
  1648  
  1649  type pthread_barrierattr_t = struct {
  1650  	_      [0]uint32
  1651  	__size [4]uint8
  1652  }
  1653  
  1654  type random_data = struct {
  1655  	fptr      uintptr
  1656  	rptr      uintptr
  1657  	state     uintptr
  1658  	rand_type int32
  1659  	rand_deg  int32
  1660  	rand_sep  int32
  1661  	_         [4]byte
  1662  	end_ptr   uintptr
  1663  }
  1664  
  1665  type drand48_data = struct {
  1666  	__x     [3]uint16
  1667  	__old_x [3]uint16
  1668  	__c     uint16
  1669  	__init  uint16
  1670  	__a     uint64
  1671  }
  1672  
  1673  type __locale_struct = struct {
  1674  	__locales       [13]uintptr
  1675  	__ctype_b       uintptr
  1676  	__ctype_tolower uintptr
  1677  	__ctype_toupper uintptr
  1678  	__names         [13]uintptr
  1679  }
  1680  
  1681  type locale_t = uintptr
  1682  
  1683  type useconds_t = uint32
  1684  
  1685  type intptr_t = int64
  1686  
  1687  type socklen_t = uint32
  1688  
  1689  type u64 = sqlite3_uint64
  1690  
  1691  type HashContext1 = struct {
  1692  	isInit uint8
  1693  	i      uint8
  1694  	j      uint8
  1695  	s      [256]uint8
  1696  	r      [32]uint8
  1697  }
  1698  
  1699  type HashContext = HashContext1
  1700  
  1701  type Global = struct {
  1702  	db            uintptr
  1703  	pStmt         uintptr
  1704  	iStart        sqlite3_int64
  1705  	iTotal        sqlite3_int64
  1706  	bWithoutRowid int32
  1707  	bReprepare    int32
  1708  	bSqlOnly      int32
  1709  	bExplain      int32
  1710  	bVerify       int32
  1711  	bMemShrink    int32
  1712  	eTemp         int32
  1713  	szTest        int32
  1714  	nRepeat       int32
  1715  	doCheckpoint  int32
  1716  	nReserve      int32
  1717  	_             [4]byte
  1718  	zWR           uintptr
  1719  	zNN           uintptr
  1720  	zPK           uintptr
  1721  	x             uint32
  1722  	y             uint32
  1723  	nResByte      u64
  1724  	nResult       int32
  1725  	zResult       [3000]uint8
  1726  	_             [4]byte
  1727  	hashFile      uintptr
  1728  	hash          HashContext
  1729  	_             [5]byte
  1730  }
  1731  
  1732  var g Global
  1733  
  1734  func isTemp(tls *libc.TLS, N int32) uintptr {
  1735  	if g.eTemp >= N {
  1736  		return ts + 2263
  1737  	}
  1738  	return ts + 2269
  1739  }
  1740  
  1741  func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) {
  1742  	var ap va_list
  1743  	_ = ap
  1744  	ap = va
  1745  	libc.Xvfprintf(tls, libc.Xstderr, zMsg, ap)
  1746  	_ = ap
  1747  	libc.Xexit(tls, 1)
  1748  }
  1749  
  1750  func HashInit(tls *libc.TLS) {
  1751  	var k uint32
  1752  	g.hash.i = uint8(0)
  1753  	g.hash.j = uint8(0)
  1754  	for k = uint32(0); k < uint32(256); k++ {
  1755  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(k))) = uint8(k)
  1756  	}
  1757  }
  1758  
  1759  func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) {
  1760  	var t uint8
  1761  	var i uint8 = g.hash.i
  1762  	var j uint8 = g.hash.j
  1763  	var k uint32
  1764  	if g.hashFile != 0 {
  1765  		libc.Xfwrite(tls, aData, uint64(1), uint64(nData), g.hashFile)
  1766  	}
  1767  	for k = uint32(0); k < nData; k++ {
  1768  		j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k))))))
  1769  		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j)))
  1770  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))
  1771  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = t
  1772  		i++
  1773  	}
  1774  	g.hash.i = i
  1775  	g.hash.j = j
  1776  }
  1777  
  1778  func HashFinal(tls *libc.TLS) {
  1779  	var k uint32
  1780  	var t uint8
  1781  	var i uint8
  1782  	var j uint8
  1783  	i = g.hash.i
  1784  	j = g.hash.j
  1785  	for k = uint32(0); k < uint32(32); k++ {
  1786  		i++
  1787  		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))
  1788  		j = uint8(int32(j) + int32(t))
  1789  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j)))
  1790  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = t
  1791  		t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))))
  1792  		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(t)))
  1793  	}
  1794  }
  1795  
  1796  func hexDigitValue(tls *libc.TLS, c uint8) int32 {
  1797  	if int32(c) >= '0' && int32(c) <= '9' {
  1798  		return int32(c) - '0'
  1799  	}
  1800  	if int32(c) >= 'a' && int32(c) <= 'f' {
  1801  		return int32(c) - 'a' + 10
  1802  	}
  1803  	if int32(c) >= 'A' && int32(c) <= 'F' {
  1804  		return int32(c) - 'A' + 10
  1805  	}
  1806  	return -1
  1807  }
  1808  
  1809  func integerValue(tls *libc.TLS, zArg uintptr) int32 {
  1810  	var v sqlite3_int64 = int64(0)
  1811  	var i int32
  1812  	var isNeg int32 = 0
  1813  	if int32(*(*uint8)(unsafe.Pointer(zArg))) == '-' {
  1814  		isNeg = 1
  1815  		zArg++
  1816  	} else if int32(*(*uint8)(unsafe.Pointer(zArg))) == '+' {
  1817  		zArg++
  1818  	}
  1819  	if int32(*(*uint8)(unsafe.Pointer(zArg))) == '0' && int32(*(*uint8)(unsafe.Pointer(zArg + 1))) == 'x' {
  1820  		var x int32
  1821  		zArg += uintptr(2)
  1822  		for libc.AssignInt32(&x, hexDigitValue(tls, *(*uint8)(unsafe.Pointer(zArg)))) >= 0 {
  1823  			v = v<<4 + sqlite3_int64(x)
  1824  			zArg++
  1825  		}
  1826  	} else {
  1827  		for int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zArg))))*2)))&int32(_ISdigit) != 0 {
  1828  			v = v*int64(10) + sqlite3_int64(*(*uint8)(unsafe.Pointer(zArg))) - int64('0')
  1829  			zArg++
  1830  		}
  1831  	}
  1832  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aMult))/uint64(unsafe.Sizeof(struct {
  1833  		zSuffix uintptr
  1834  		iMult   int32
  1835  		_       [4]byte
  1836  	}{})); i++ {
  1837  		if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 {
  1838  			v = v * sqlite3_int64(aMult[i].iMult)
  1839  			break
  1840  		}
  1841  	}
  1842  	if v > int64(0x7fffffff) {
  1843  		fatal_error(tls, ts+2270, 0)
  1844  	}
  1845  	return func() int32 {
  1846  		if isNeg != 0 {
  1847  			return int32(-v)
  1848  		}
  1849  		return int32(v)
  1850  	}()
  1851  }
  1852  
  1853  var aMult = [9]struct {
  1854  	zSuffix uintptr
  1855  	iMult   int32
  1856  	_       [4]byte
  1857  }{
  1858  	{zSuffix: ts + 2307, iMult: 1024},
  1859  	{zSuffix: ts + 2311, iMult: 1024 * 1024},
  1860  	{zSuffix: ts + 2315, iMult: 1024 * 1024 * 1024},
  1861  	{zSuffix: ts + 2319, iMult: 1000},
  1862  	{zSuffix: ts + 2322, iMult: 1000000},
  1863  	{zSuffix: ts + 2325, iMult: 1000000000},
  1864  	{zSuffix: ts + 2328, iMult: 1000},
  1865  	{zSuffix: ts + 2330, iMult: 1000000},
  1866  	{zSuffix: ts + 2332, iMult: 1000000000},
  1867  }
  1868  
  1869  func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 {
  1870  	bp := tls.Alloc(16)
  1871  	defer tls.Free(16)
  1872  
  1873  	if clockVfs == uintptr(0) {
  1874  		clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
  1875  	}
  1876  	if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) {
  1877  		(*struct {
  1878  			f func(*libc.TLS, uintptr, uintptr) int32
  1879  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp)
  1880  	} else {
  1881  		(*struct {
  1882  			f func(*libc.TLS, uintptr, uintptr) int32
  1883  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8)
  1884  		*(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0)
  1885  	}
  1886  	return *(*sqlite3_int64)(unsafe.Pointer(bp))
  1887  }
  1888  
  1889  var clockVfs uintptr = uintptr(0)
  1890  
  1891  func speedtest1_random(tls *libc.TLS) uint32 {
  1892  	g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001
  1893  	g.y = g.y*uint32(1103515245) + uint32(12345)
  1894  	return g.x ^ g.y
  1895  }
  1896  
  1897  func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 {
  1898  	var out uint32 = uint32(0)
  1899  	for limit != 0 {
  1900  		out = out<<1 | in&uint32(1)
  1901  		in >>= 1
  1902  		limit >>= 1
  1903  	}
  1904  	return out
  1905  }
  1906  
  1907  func roundup_allones(tls *libc.TLS, limit uint32) uint32 {
  1908  	var m uint32 = uint32(1)
  1909  	for m < limit {
  1910  		m = m<<1 + uint32(1)
  1911  	}
  1912  	return m
  1913  }
  1914  
  1915  func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 {
  1916  	bp := tls.Alloc(24)
  1917  	defer tls.Free(24)
  1918  
  1919  	var i int32 = 0
  1920  
  1921  	if n >= uint32(1000000000) {
  1922  		i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i)
  1923  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2334, 0)
  1924  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1925  		n = n % uint32(1000000000)
  1926  	}
  1927  	if n >= uint32(1000000) {
  1928  		if i != 0 && i < nOut-1 {
  1929  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1930  		}
  1931  		i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i)
  1932  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2343, 0)
  1933  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1934  		n = n % uint32(1000000)
  1935  	}
  1936  	if n >= uint32(1000) {
  1937  		if i != 0 && i < nOut-1 {
  1938  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1939  		}
  1940  		i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i)
  1941  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2352, 0)
  1942  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1943  		n = n % uint32(1000)
  1944  	}
  1945  	if n >= uint32(100) {
  1946  		if i != 0 && i < nOut-1 {
  1947  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1948  		}
  1949  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2362, libc.VaList(bp, ones[n/uint32(100)]))
  1950  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1951  		n = n % uint32(100)
  1952  	}
  1953  	if n >= uint32(20) {
  1954  		if i != 0 && i < nOut-1 {
  1955  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1956  		}
  1957  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+8, tens[n/uint32(10)]))
  1958  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1959  		n = n % uint32(10)
  1960  	}
  1961  	if n > uint32(0) {
  1962  		if i != 0 && i < nOut-1 {
  1963  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ')
  1964  		}
  1965  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+16, ones[n]))
  1966  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1967  	}
  1968  	if i == 0 {
  1969  		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2376, 0)
  1970  		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
  1971  	}
  1972  	return i
  1973  }
  1974  
  1975  var ones = [20]uintptr{ts + 2376, ts + 2381, ts + 2385, ts + 2389, ts + 2395, ts + 2400,
  1976  	ts + 2405, ts + 2409, ts + 2415, ts + 2421, ts + 2426, ts + 2430, ts + 2437,
  1977  	ts + 2444, ts + 2453, ts + 2462, ts + 2470, ts + 2478,
  1978  	ts + 2488, ts + 2497}
  1979  var tens = [10]uintptr{ts + 2269, ts + 2426, ts + 2506, ts + 2513, ts + 2520,
  1980  	ts + 2526, ts + 2532, ts + 2538, ts + 2546, ts + 2553}
  1981  
  1982  var zDots = *(*[72]uint8)(unsafe.Pointer(ts + 2560))
  1983  
  1984  func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) {
  1985  	bp := tls.Alloc(64)
  1986  	defer tls.Free(64)
  1987  
  1988  	var n int32 = int32(libc.Xstrlen(tls, zTestName))
  1989  	var zName uintptr
  1990  	var ap va_list
  1991  	_ = ap
  1992  	ap = va
  1993  	zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap)
  1994  	_ = ap
  1995  	n = int32(libc.Xstrlen(tls, zName))
  1996  	if n > NAMEWIDTH {
  1997  		*(*uint8)(unsafe.Pointer(zName + 60)) = uint8(0)
  1998  		n = NAMEWIDTH
  1999  	}
  2000  	if g.bSqlOnly != 0 {
  2001  		libc.Xprintf(tls, ts+2632, libc.VaList(bp, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
  2002  	} else {
  2003  		libc.Xprintf(tls, ts+2652, libc.VaList(bp+32, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
  2004  		libc.Xfflush(tls, libc.Xstdout)
  2005  	}
  2006  	sqlite3.Xsqlite3_free(tls, zName)
  2007  	g.nResult = 0
  2008  	g.iStart = speedtest1_timestamp(tls)
  2009  	g.x = 0xad131d0b
  2010  	g.y = uint32(0x44f9eac8)
  2011  }
  2012  
  2013  func speedtest1_end_test(tls *libc.TLS) {
  2014  	bp := tls.Alloc(16)
  2015  	defer tls.Free(16)
  2016  
  2017  	var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart
  2018  	if g.doCheckpoint != 0 {
  2019  		speedtest1_exec(tls, ts+2666, 0)
  2020  	}
  2021  	if !(g.bSqlOnly != 0) {
  2022  		*(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 24)) += iElapseTime
  2023  		libc.Xprintf(tls, ts+2689, libc.VaList(bp, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000))))
  2024  	}
  2025  	if g.pStmt != 0 {
  2026  		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2027  		g.pStmt = uintptr(0)
  2028  	}
  2029  }
  2030  
  2031  func speedtest1_final(tls *libc.TLS) {
  2032  	bp := tls.Alloc(48)
  2033  	defer tls.Free(48)
  2034  
  2035  	if !(g.bSqlOnly != 0) {
  2036  		libc.Xprintf(tls, ts+2700, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)),
  2037  			int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000))))
  2038  	}
  2039  	if g.bVerify != 0 {
  2040  		var i int32
  2041  		libc.Xprintf(tls, ts+2728, libc.VaList(bp+32, g.nResByte))
  2042  		HashUpdate(tls, ts+2753, uint32(1))
  2043  		HashFinal(tls)
  2044  		for i = 0; i < 24; i++ {
  2045  			libc.Xprintf(tls, ts+2755, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(i))))))
  2046  		}
  2047  		if g.hashFile != 0 && g.hashFile != libc.Xstdout {
  2048  			libc.Xfclose(tls, g.hashFile)
  2049  		}
  2050  		libc.Xprintf(tls, ts+2753, 0)
  2051  	}
  2052  }
  2053  
  2054  func printSql(tls *libc.TLS, zSql uintptr) {
  2055  	bp := tls.Alloc(32)
  2056  	defer tls.Free(32)
  2057  
  2058  	var n int32 = int32(libc.Xstrlen(tls, zSql))
  2059  	for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&int32(_ISspace) != 0) {
  2060  		n--
  2061  	}
  2062  	if g.bExplain != 0 {
  2063  		libc.Xprintf(tls, ts+2760, 0)
  2064  	}
  2065  	libc.Xprintf(tls, ts+2769, libc.VaList(bp, n, zSql))
  2066  	if g.bExplain != 0 &&
  2067  		(sqlite3.Xsqlite3_strglob(tls, ts+2776, zSql) == 0 ||
  2068  			sqlite3.Xsqlite3_strglob(tls, ts+2785, zSql) == 0 ||
  2069  			sqlite3.Xsqlite3_strglob(tls, ts+2792, zSql) == 0) {
  2070  		libc.Xprintf(tls, ts+2769, libc.VaList(bp+16, n, zSql))
  2071  	}
  2072  }
  2073  
  2074  func speedtest1_shrink_memory(tls *libc.TLS) {
  2075  	if g.bMemShrink != 0 {
  2076  		sqlite3.Xsqlite3_db_release_memory(tls, g.db)
  2077  	}
  2078  }
  2079  
  2080  func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) {
  2081  	bp := tls.Alloc(32)
  2082  	defer tls.Free(32)
  2083  
  2084  	var ap va_list
  2085  	_ = ap
  2086  	var zSql uintptr
  2087  	ap = va
  2088  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2089  	_ = ap
  2090  	if g.bSqlOnly != 0 {
  2091  		printSql(tls, zSql)
  2092  	} else {
  2093  		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
  2094  		var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24)
  2095  		if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 {
  2096  			fatal_error(tls, ts+2800, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24)), zSql))
  2097  		}
  2098  		if rc != SQLITE_OK {
  2099  			fatal_error(tls, ts+2818, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2100  		}
  2101  	}
  2102  	sqlite3.Xsqlite3_free(tls, zSql)
  2103  	speedtest1_shrink_memory(tls)
  2104  }
  2105  
  2106  func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
  2107  	bp := tls.Alloc(24)
  2108  	defer tls.Free(24)
  2109  
  2110  	var ap va_list
  2111  	_ = ap
  2112  	var zSql uintptr
  2113  
  2114  	var zResult uintptr = uintptr(0)
  2115  	ap = va
  2116  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2117  	_ = ap
  2118  	if g.bSqlOnly != 0 {
  2119  		printSql(tls, zSql)
  2120  	} else {
  2121  		var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0))
  2122  		if rc != 0 {
  2123  			fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2124  		}
  2125  		if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW {
  2126  			var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 0)
  2127  			if z != 0 {
  2128  				zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2373, libc.VaList(bp+8, z))
  2129  			}
  2130  		}
  2131  		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  2132  	}
  2133  	sqlite3.Xsqlite3_free(tls, zSql)
  2134  	speedtest1_shrink_memory(tls)
  2135  	return zResult
  2136  }
  2137  
  2138  func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) {
  2139  	bp := tls.Alloc(8)
  2140  	defer tls.Free(8)
  2141  
  2142  	var ap va_list
  2143  	_ = ap
  2144  	var zSql uintptr
  2145  	ap = va
  2146  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2147  	_ = ap
  2148  	if g.bSqlOnly != 0 {
  2149  		printSql(tls, zSql)
  2150  	} else {
  2151  		var rc int32
  2152  		if g.pStmt != 0 {
  2153  			sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2154  		}
  2155  		rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+8, uintptr(0))
  2156  		if rc != 0 {
  2157  			fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2158  		}
  2159  	}
  2160  	sqlite3.Xsqlite3_free(tls, zSql)
  2161  }
  2162  
  2163  func speedtest1_run(tls *libc.TLS) {
  2164  	bp := tls.Alloc(16)
  2165  	defer tls.Free(16)
  2166  
  2167  	var i int32
  2168  	var n int32
  2169  	var len int32
  2170  	if g.bSqlOnly != 0 {
  2171  		return
  2172  	}
  2173  
  2174  	g.nResult = 0
  2175  	for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW {
  2176  		n = sqlite3.Xsqlite3_column_count(tls, g.pStmt)
  2177  		for i = 0; i < n; i++ {
  2178  			var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i)
  2179  			if z == uintptr(0) {
  2180  				z = ts + 2849
  2181  			}
  2182  			len = int32(libc.Xstrlen(tls, z))
  2183  			if g.bVerify != 0 {
  2184  				var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i)
  2185  
  2186  				*(*uint8)(unsafe.Pointer(bp)) = uint8('\n')
  2187  				*(*uint8)(unsafe.Pointer(bp + 1)) = *(*uint8)(unsafe.Pointer(ts + 2853 + uintptr(eType)))
  2188  				if g.nResByte != 0 {
  2189  					HashUpdate(tls, bp, uint32(2))
  2190  				} else {
  2191  					HashUpdate(tls, bp+uintptr(1), uint32(1))
  2192  				}
  2193  				if eType == SQLITE_FLOAT {
  2194  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += uint64(2)
  2195  				} else if eType == SQLITE_BLOB {
  2196  					var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i)
  2197  					var iBlob int32
  2198  
  2199  					var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i)
  2200  					for iBlob = 0; iBlob < nBlob; iBlob++ {
  2201  						*(*uint8)(unsafe.Pointer(bp + 2)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4)))
  2202  						*(*uint8)(unsafe.Pointer(bp + 2 + 1)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15)))
  2203  						HashUpdate(tls, bp+2, uint32(2))
  2204  					}
  2205  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(nBlob*2 + 2)
  2206  				} else {
  2207  					HashUpdate(tls, z, uint32(len))
  2208  					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(len + 2)
  2209  				}
  2210  			}
  2211  			if uint64(g.nResult+len) < uint64(unsafe.Sizeof([3000]uint8{}))-uint64(2) {
  2212  				if g.nResult > 0 {
  2213  					*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 124 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = uint8(' ')
  2214  				}
  2215  				libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+124+uintptr(g.nResult), z, uint64(len+1))
  2216  				*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 120)) += len
  2217  			}
  2218  		}
  2219  	}
  2220  	if g.bReprepare != 0 {
  2221  		sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+8, uintptr(0))
  2222  		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
  2223  		g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 8))
  2224  	} else {
  2225  		sqlite3.Xsqlite3_reset(tls, g.pStmt)
  2226  	}
  2227  	speedtest1_shrink_memory(tls)
  2228  }
  2229  
  2230  func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) {
  2231  	bp := tls.Alloc(16)
  2232  	defer tls.Free(16)
  2233  
  2234  	var n int32 = int32(libc.Xstrlen(tls, zSql))
  2235  	for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&int32(_ISspace) != 0) {
  2236  		n--
  2237  	}
  2238  	libc.Xfprintf(tls, libc.Xstderr, ts+2769, libc.VaList(bp, n, zSql))
  2239  }
  2240  
  2241  func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) {
  2242  	sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls)))
  2243  }
  2244  
  2245  func est_square_root(tls *libc.TLS, x int32) int32 {
  2246  	var y0 int32 = x / 2
  2247  	var y1 int32
  2248  	var n int32
  2249  	for n = 0; y0 > 0 && n < 10; n++ {
  2250  		y1 = (y0 + x/y0) / 2
  2251  		if y1 == y0 {
  2252  			break
  2253  		}
  2254  		y0 = y1
  2255  	}
  2256  	return y0
  2257  }
  2258  
  2259  func testset_main(tls *libc.TLS) {
  2260  	bp := tls.Alloc(2568)
  2261  	defer tls.Free(2568)
  2262  
  2263  	var i int32
  2264  	var n int32
  2265  	var sz int32
  2266  	var maxb int32
  2267  	var x1 uint32 = uint32(0)
  2268  	var x2 uint32 = uint32(0)
  2269  	var len int32 = 0
  2270  
  2271  	sz = libc.AssignInt32(&n, g.szTest*500)
  2272  	*(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0)
  2273  	maxb = int32(roundup_allones(tls, uint32(sz)))
  2274  	speedtest1_begin_test(tls, 100, ts+2877, libc.VaList(bp, n))
  2275  	speedtest1_exec(tls, ts+2913, 0)
  2276  	speedtest1_exec(tls, ts+2919,
  2277  		libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN))
  2278  	speedtest1_prepare(tls, ts+2977, libc.VaList(bp+40, n))
  2279  	for i = 1; i <= n; i++ {
  2280  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2281  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2282  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
  2283  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2284  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2285  		speedtest1_run(tls)
  2286  	}
  2287  	speedtest1_exec(tls, ts+3023, 0)
  2288  	speedtest1_end_test(tls)
  2289  
  2290  	n = sz
  2291  	speedtest1_begin_test(tls, 110, ts+3030, libc.VaList(bp+48, n))
  2292  	speedtest1_exec(tls, ts+2913, 0)
  2293  	speedtest1_exec(tls,
  2294  		ts+3067,
  2295  		libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2296  	speedtest1_prepare(tls, ts+3130, libc.VaList(bp+104, n))
  2297  	for i = 1; i <= n; i++ {
  2298  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2299  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2300  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i)
  2301  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1))
  2302  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2303  		speedtest1_run(tls)
  2304  	}
  2305  	speedtest1_exec(tls, ts+3023, 0)
  2306  	speedtest1_end_test(tls)
  2307  
  2308  	n = sz
  2309  	speedtest1_begin_test(tls, 120, ts+3175, libc.VaList(bp+112, n))
  2310  	speedtest1_exec(tls, ts+2913, 0)
  2311  	speedtest1_exec(tls,
  2312  		ts+3214,
  2313  		libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2314  	speedtest1_prepare(tls, ts+3277, libc.VaList(bp+168, n))
  2315  	for i = 1; i <= n; i++ {
  2316  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2317  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2318  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2319  		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
  2320  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
  2321  		speedtest1_run(tls)
  2322  	}
  2323  	speedtest1_exec(tls, ts+3023, 0)
  2324  	speedtest1_end_test(tls)
  2325  
  2326  	n = 25
  2327  	speedtest1_begin_test(tls, 130, ts+3322, libc.VaList(bp+176, n))
  2328  	speedtest1_exec(tls, ts+2913, 0)
  2329  	speedtest1_prepare(tls,
  2330  		ts+3361, libc.VaList(bp+184, n))
  2331  	for i = 1; i <= n; i++ {
  2332  		if (i-1)%g.nRepeat == 0 {
  2333  			x1 = speedtest1_random(tls) % uint32(maxb)
  2334  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2335  		}
  2336  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2337  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2338  		speedtest1_run(tls)
  2339  	}
  2340  	speedtest1_exec(tls, ts+3023, 0)
  2341  	speedtest1_end_test(tls)
  2342  
  2343  	n = 10
  2344  	speedtest1_begin_test(tls, 140, ts+3466, libc.VaList(bp+192, n))
  2345  	speedtest1_exec(tls, ts+2913, 0)
  2346  	speedtest1_prepare(tls,
  2347  		ts+3494, libc.VaList(bp+200, n))
  2348  	for i = 1; i <= n; i++ {
  2349  		if (i-1)%g.nRepeat == 0 {
  2350  			x1 = speedtest1_random(tls) % uint32(maxb)
  2351  			*(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%')
  2352  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2)))
  2353  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%')
  2354  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0)
  2355  		}
  2356  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2357  		speedtest1_run(tls)
  2358  	}
  2359  	speedtest1_exec(tls, ts+3023, 0)
  2360  	speedtest1_end_test(tls)
  2361  
  2362  	n = 10
  2363  	speedtest1_begin_test(tls, 142, ts+3589, libc.VaList(bp+208, n))
  2364  	speedtest1_exec(tls, ts+2913, 0)
  2365  	speedtest1_prepare(tls,
  2366  		ts+3622, libc.VaList(bp+216, n))
  2367  	for i = 1; i <= n; i++ {
  2368  		if (i-1)%g.nRepeat == 0 {
  2369  			x1 = speedtest1_random(tls) % uint32(maxb)
  2370  			*(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%')
  2371  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2)))
  2372  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%')
  2373  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0)
  2374  		}
  2375  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2376  		speedtest1_run(tls)
  2377  	}
  2378  	speedtest1_exec(tls, ts+3023, 0)
  2379  	speedtest1_end_test(tls)
  2380  
  2381  	n = 10
  2382  	speedtest1_begin_test(tls, 145, ts+3686, libc.VaList(bp+224, n))
  2383  	speedtest1_exec(tls, ts+2913, 0)
  2384  	speedtest1_prepare(tls,
  2385  		ts+3729, libc.VaList(bp+232, n))
  2386  	for i = 1; i <= n; i++ {
  2387  		if (i-1)%g.nRepeat == 0 {
  2388  			x1 = speedtest1_random(tls) % uint32(maxb)
  2389  			*(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%')
  2390  			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2)))
  2391  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%')
  2392  			*(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0)
  2393  		}
  2394  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
  2395  		speedtest1_run(tls)
  2396  	}
  2397  	speedtest1_exec(tls, ts+3023, 0)
  2398  	speedtest1_end_test(tls)
  2399  
  2400  	speedtest1_begin_test(tls, 150, ts+3802, 0)
  2401  	speedtest1_exec(tls, ts+3826, 0)
  2402  	speedtest1_exec(tls, ts+3833, 0)
  2403  	speedtest1_exec(tls, ts+3867, 0)
  2404  	speedtest1_exec(tls, ts+3894, 0)
  2405  	speedtest1_exec(tls, ts+3928, 0)
  2406  	speedtest1_exec(tls, ts+3960, 0)
  2407  	speedtest1_exec(tls, ts+3990, 0)
  2408  	speedtest1_end_test(tls)
  2409  
  2410  	n = sz / 5
  2411  	speedtest1_begin_test(tls, 160, ts+3998, libc.VaList(bp+240, n))
  2412  	speedtest1_exec(tls, ts+2913, 0)
  2413  	speedtest1_prepare(tls,
  2414  		ts+4035, libc.VaList(bp+248, n))
  2415  	for i = 1; i <= n; i++ {
  2416  		if (i-1)%g.nRepeat == 0 {
  2417  			x1 = speedtest1_random(tls) % uint32(maxb)
  2418  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2419  		}
  2420  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2421  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2422  		speedtest1_run(tls)
  2423  	}
  2424  	speedtest1_exec(tls, ts+3023, 0)
  2425  	speedtest1_end_test(tls)
  2426  
  2427  	n = sz / 5
  2428  	speedtest1_begin_test(tls, 161, ts+4140, libc.VaList(bp+256, n))
  2429  	speedtest1_exec(tls, ts+2913, 0)
  2430  	speedtest1_prepare(tls,
  2431  		ts+4172, libc.VaList(bp+264, n))
  2432  	for i = 1; i <= n; i++ {
  2433  		if (i-1)%g.nRepeat == 0 {
  2434  			x1 = speedtest1_random(tls) % uint32(maxb)
  2435  			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2436  		}
  2437  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2438  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2439  		speedtest1_run(tls)
  2440  	}
  2441  	speedtest1_exec(tls, ts+3023, 0)
  2442  	speedtest1_end_test(tls)
  2443  
  2444  	n = sz / 5
  2445  	speedtest1_begin_test(tls, 170, ts+4277, libc.VaList(bp+272, n))
  2446  	speedtest1_exec(tls, ts+2913, 0)
  2447  	speedtest1_prepare(tls,
  2448  		ts+4311, libc.VaList(bp+280, n))
  2449  	for i = 1; i <= n; i++ {
  2450  		if (i-1)%g.nRepeat == 0 {
  2451  			x1 = swizzle(tls, uint32(i), uint32(maxb))
  2452  			len = speedtest1_numbername(tls, x1, bp+568, int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(1)))
  2453  		}
  2454  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0))
  2455  		speedtest1_run(tls)
  2456  	}
  2457  	speedtest1_exec(tls, ts+3023, 0)
  2458  	speedtest1_end_test(tls)
  2459  
  2460  	n = sz
  2461  	speedtest1_begin_test(tls, 180, ts+4423, libc.VaList(bp+288, n))
  2462  	speedtest1_exec(tls, ts+2913, 0)
  2463  	speedtest1_exec(tls,
  2464  		ts+4453,
  2465  		libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
  2466  	speedtest1_exec(tls, ts+4524, 0)
  2467  	speedtest1_exec(tls, ts+4550, 0)
  2468  	speedtest1_exec(tls, ts+4576, 0)
  2469  	speedtest1_exec(tls, ts+3023, 0)
  2470  	speedtest1_end_test(tls)
  2471  
  2472  	n = sz
  2473  	speedtest1_begin_test(tls, 190, ts+4608, libc.VaList(bp+344, n))
  2474  	speedtest1_exec(tls, ts+4636, 0)
  2475  	speedtest1_exec(tls, ts+4652, 0)
  2476  	speedtest1_end_test(tls)
  2477  
  2478  	speedtest1_begin_test(tls, 200, ts+4685, 0)
  2479  	speedtest1_exec(tls, ts+4685, 0)
  2480  	speedtest1_end_test(tls)
  2481  
  2482  	speedtest1_begin_test(tls, 210, ts+4692, 0)
  2483  	speedtest1_exec(tls, ts+4726, 0)
  2484  	speedtest1_exec(tls, ts+4770, 0)
  2485  	speedtest1_end_test(tls)
  2486  
  2487  	n = sz / 5
  2488  	speedtest1_begin_test(tls, 230, ts+4792, libc.VaList(bp+352, n))
  2489  	speedtest1_exec(tls, ts+2913, 0)
  2490  	speedtest1_prepare(tls,
  2491  		ts+4829, libc.VaList(bp+360, n))
  2492  	for i = 1; i <= n; i++ {
  2493  		x1 = speedtest1_random(tls) % uint32(maxb)
  2494  		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2495  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2496  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2497  		speedtest1_run(tls)
  2498  	}
  2499  	speedtest1_exec(tls, ts+3023, 0)
  2500  	speedtest1_end_test(tls)
  2501  
  2502  	n = sz
  2503  	speedtest1_begin_test(tls, 240, ts+4888, libc.VaList(bp+368, n))
  2504  	speedtest1_exec(tls, ts+2913, 0)
  2505  	speedtest1_prepare(tls,
  2506  		ts+4918, libc.VaList(bp+376, n))
  2507  	for i = 1; i <= n; i++ {
  2508  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2509  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2510  		speedtest1_run(tls)
  2511  	}
  2512  	speedtest1_exec(tls, ts+3023, 0)
  2513  	speedtest1_end_test(tls)
  2514  
  2515  	speedtest1_begin_test(tls, 250, ts+4962, libc.VaList(bp+384, sz))
  2516  	speedtest1_exec(tls, ts+5003, 0)
  2517  	speedtest1_end_test(tls)
  2518  
  2519  	speedtest1_begin_test(tls, 260, ts+5023, 0)
  2520  	speedtest1_exec(tls, ts+4770, 0)
  2521  	speedtest1_end_test(tls)
  2522  
  2523  	n = sz / 5
  2524  	speedtest1_begin_test(tls, 270, ts+5056, libc.VaList(bp+392, n))
  2525  	speedtest1_exec(tls, ts+2913, 0)
  2526  	speedtest1_prepare(tls,
  2527  		ts+5093, libc.VaList(bp+400, n))
  2528  	for i = 1; i <= n; i++ {
  2529  		x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1)
  2530  		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
  2531  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2532  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2533  		speedtest1_run(tls)
  2534  	}
  2535  	speedtest1_exec(tls, ts+3023, 0)
  2536  	speedtest1_end_test(tls)
  2537  
  2538  	n = sz
  2539  	speedtest1_begin_test(tls, 280, ts+5147, libc.VaList(bp+408, n))
  2540  	speedtest1_exec(tls, ts+2913, 0)
  2541  	speedtest1_prepare(tls,
  2542  		ts+5177, libc.VaList(bp+416, n))
  2543  	for i = 1; i <= n; i++ {
  2544  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2545  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2546  		speedtest1_run(tls)
  2547  	}
  2548  	speedtest1_exec(tls, ts+3023, 0)
  2549  	speedtest1_end_test(tls)
  2550  
  2551  	speedtest1_begin_test(tls, 290, ts+5216, libc.VaList(bp+424, sz))
  2552  	speedtest1_exec(tls, ts+5255, 0)
  2553  	speedtest1_exec(tls, ts+5299, 0)
  2554  	speedtest1_end_test(tls)
  2555  
  2556  	speedtest1_begin_test(tls, 300, ts+5343, libc.VaList(bp+432, sz))
  2557  	speedtest1_exec(tls, ts+4636, 0)
  2558  	speedtest1_exec(tls,
  2559  		ts+5384, 0)
  2560  	speedtest1_exec(tls,
  2561  		ts+5449, 0)
  2562  	speedtest1_end_test(tls)
  2563  
  2564  	n = sz / 5
  2565  	speedtest1_begin_test(tls, 310, ts+5514, libc.VaList(bp+440, n))
  2566  	speedtest1_exec(tls, ts+2913, 0)
  2567  	speedtest1_prepare(tls,
  2568  		ts+5533, 0)
  2569  	for i = 1; i <= n; i++ {
  2570  		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
  2571  		x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4)
  2572  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  2573  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
  2574  		speedtest1_run(tls)
  2575  	}
  2576  	speedtest1_exec(tls, ts+3023, 0)
  2577  	speedtest1_end_test(tls)
  2578  
  2579  	speedtest1_begin_test(tls, 320, ts+5646, libc.VaList(bp+448, n))
  2580  	speedtest1_prepare(tls,
  2581  		ts+5669, 0)
  2582  	sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50)
  2583  	speedtest1_run(tls)
  2584  	speedtest1_end_test(tls)
  2585  
  2586  	sz = libc.AssignInt32(&n, g.szTest*700)
  2587  	*(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0)
  2588  	maxb = int32(roundup_allones(tls, uint32(sz/3)))
  2589  	speedtest1_begin_test(tls, 400, ts+5787, libc.VaList(bp+456, n))
  2590  	speedtest1_exec(tls, ts+2913, 0)
  2591  	speedtest1_exec(tls, ts+5812,
  2592  		libc.VaList(bp+464, isTemp(tls, 9), g.zNN))
  2593  	speedtest1_prepare(tls, ts+5860, libc.VaList(bp+480, n))
  2594  	for i = 1; i <= n; i++ {
  2595  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2596  		speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2597  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
  2598  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0))
  2599  		speedtest1_run(tls)
  2600  	}
  2601  	speedtest1_exec(tls, ts+3023, 0)
  2602  	speedtest1_end_test(tls)
  2603  	speedtest1_begin_test(tls, 410, ts+5904, libc.VaList(bp+488, n))
  2604  	speedtest1_prepare(tls, ts+5925, libc.VaList(bp+496, n))
  2605  	for i = 1; i <= n; i++ {
  2606  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2607  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
  2608  		speedtest1_run(tls)
  2609  	}
  2610  	speedtest1_end_test(tls)
  2611  
  2612  	sz = libc.AssignInt32(&n, g.szTest*700)
  2613  	*(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0)
  2614  	maxb = int32(roundup_allones(tls, uint32(sz/3)))
  2615  	speedtest1_begin_test(tls, 500, ts+5967, libc.VaList(bp+504, n))
  2616  	speedtest1_exec(tls, ts+2913, 0)
  2617  	speedtest1_exec(tls, ts+5989,
  2618  		libc.VaList(bp+512, isTemp(tls, 9), g.zNN,
  2619  			func() uintptr {
  2620  				if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 {
  2621  					return ts + 6036
  2622  				}
  2623  				return ts + 2269
  2624  			}()))
  2625  	speedtest1_prepare(tls, ts+6050, libc.VaList(bp+536, n))
  2626  	for i = 1; i <= n; i++ {
  2627  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2628  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2629  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
  2630  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
  2631  		speedtest1_run(tls)
  2632  	}
  2633  	speedtest1_exec(tls, ts+3023, 0)
  2634  	speedtest1_end_test(tls)
  2635  	speedtest1_begin_test(tls, 510, ts+6094, libc.VaList(bp+544, n))
  2636  	speedtest1_prepare(tls, ts+6118, libc.VaList(bp+552, n))
  2637  	for i = 1; i <= n; i++ {
  2638  		x1 = swizzle(tls, uint32(i), uint32(maxb))
  2639  		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{})))
  2640  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
  2641  		speedtest1_run(tls)
  2642  	}
  2643  	speedtest1_end_test(tls)
  2644  	speedtest1_begin_test(tls, 520, ts+6160, libc.VaList(bp+560, n))
  2645  	speedtest1_exec(tls, ts+6179, 0)
  2646  	speedtest1_exec(tls, ts+6206, 0)
  2647  	speedtest1_end_test(tls)
  2648  
  2649  	speedtest1_begin_test(tls, 980, ts+6233, 0)
  2650  	speedtest1_exec(tls, ts+6233, 0)
  2651  	speedtest1_end_test(tls)
  2652  
  2653  	speedtest1_begin_test(tls, 990, ts+6256, 0)
  2654  	speedtest1_exec(tls, ts+6256, 0)
  2655  	speedtest1_end_test(tls)
  2656  }
  2657  
  2658  func testset_cte(tls *libc.TLS) {
  2659  	bp := tls.Alloc(32)
  2660  	defer tls.Free(32)
  2661  
  2662  	var zPuz uintptr
  2663  	var rSpacing float64
  2664  	var nElem int32
  2665  
  2666  	if g.szTest < 25 {
  2667  		zPuz = azPuzzle[0]
  2668  	} else if g.szTest < 70 {
  2669  		zPuz = azPuzzle[1]
  2670  	} else {
  2671  		zPuz = azPuzzle[2]
  2672  	}
  2673  	speedtest1_begin_test(tls, 100, ts+6264, 0)
  2674  	speedtest1_prepare(tls,
  2675  		ts+6295, 0)
  2676  	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
  2677  	speedtest1_run(tls)
  2678  	speedtest1_end_test(tls)
  2679  
  2680  	speedtest1_begin_test(tls, 200, ts+7099, 0)
  2681  	speedtest1_prepare(tls,
  2682  		ts+7127, 0)
  2683  	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
  2684  	speedtest1_run(tls)
  2685  	speedtest1_end_test(tls)
  2686  
  2687  	rSpacing = 5.0 / float64(g.szTest)
  2688  	speedtest1_begin_test(tls, 300, ts+7939, libc.VaList(bp, rSpacing))
  2689  	speedtest1_prepare(tls,
  2690  		ts+7970, 0)
  2691  	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05)
  2692  	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing)
  2693  	speedtest1_run(tls)
  2694  	speedtest1_end_test(tls)
  2695  
  2696  	nElem = 10000 * g.szTest
  2697  	speedtest1_begin_test(tls, 400, ts+8566, libc.VaList(bp+8, nElem))
  2698  	speedtest1_prepare(tls,
  2699  		ts+8603,
  2700  		libc.VaList(bp+16, nElem, nElem))
  2701  	speedtest1_run(tls)
  2702  	speedtest1_end_test(tls)
  2703  }
  2704  
  2705  var azPuzzle = [3]uintptr{
  2706  	ts + 8834,
  2707  	ts + 8916,
  2708  	ts + 8998,
  2709  }
  2710  
  2711  func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) {
  2712  	bp := tls.Alloc(24)
  2713  	defer tls.Free(24)
  2714  
  2715  	var x int32 = int32(speedtest1_random(tls))
  2716  	var y int32 = int32(speedtest1_random(tls))
  2717  	var z int32
  2718  	z = y % 10
  2719  	if z < 0 {
  2720  		z = -z
  2721  	}
  2722  	y = y / 10
  2723  	sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9080, libc.VaList(bp, y, z, x%200))
  2724  }
  2725  
  2726  func testset_fp(tls *libc.TLS) {
  2727  	bp := tls.Alloc(272)
  2728  	defer tls.Free(272)
  2729  
  2730  	var n int32
  2731  	var i int32
  2732  
  2733  	n = g.szTest * 5000
  2734  	speedtest1_begin_test(tls, 100, ts+9089, libc.VaList(bp, n*2))
  2735  	speedtest1_exec(tls, ts+2913, 0)
  2736  	speedtest1_exec(tls, ts+9120,
  2737  		libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN))
  2738  	speedtest1_prepare(tls, ts+9161, libc.VaList(bp+32, n))
  2739  	for i = 1; i <= n; i++ {
  2740  		speedtest1_random_ascii_fp(tls, bp+72)
  2741  		speedtest1_random_ascii_fp(tls, bp+172)
  2742  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2743  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2744  		speedtest1_run(tls)
  2745  	}
  2746  	speedtest1_exec(tls, ts+3023, 0)
  2747  	speedtest1_end_test(tls)
  2748  
  2749  	n = g.szTest/25 + 2
  2750  	speedtest1_begin_test(tls, 110, ts+9203, libc.VaList(bp+40, n))
  2751  	speedtest1_prepare(tls, ts+9220, 0)
  2752  	for i = 1; i <= n; i++ {
  2753  		speedtest1_random_ascii_fp(tls, bp+72)
  2754  		speedtest1_random_ascii_fp(tls, bp+172)
  2755  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2756  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2757  		speedtest1_run(tls)
  2758  	}
  2759  	speedtest1_end_test(tls)
  2760  
  2761  	speedtest1_begin_test(tls, 120, ts+9268, 0)
  2762  	speedtest1_exec(tls, ts+3826, 0)
  2763  	speedtest1_exec(tls, ts+9293, 0)
  2764  	speedtest1_exec(tls, ts+9320, 0)
  2765  	speedtest1_exec(tls, ts+9347, 0)
  2766  	speedtest1_exec(tls, ts+3990, 0)
  2767  	speedtest1_end_test(tls)
  2768  
  2769  	n = g.szTest/3 + 2
  2770  	speedtest1_begin_test(tls, 130, ts+9377, libc.VaList(bp+48, n))
  2771  	speedtest1_prepare(tls, ts+9220, 0)
  2772  	for i = 1; i <= n; i++ {
  2773  		speedtest1_random_ascii_fp(tls, bp+72)
  2774  		speedtest1_random_ascii_fp(tls, bp+172)
  2775  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
  2776  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
  2777  		speedtest1_run(tls)
  2778  	}
  2779  	speedtest1_end_test(tls)
  2780  
  2781  	n = g.szTest * 5000
  2782  	speedtest1_begin_test(tls, 140, ts+9402, libc.VaList(bp+56, n))
  2783  	speedtest1_exec(tls, ts+9422, 0)
  2784  	speedtest1_end_test(tls)
  2785  
  2786  	speedtest1_begin_test(tls, 150, ts+9465, libc.VaList(bp+64, n*4))
  2787  	speedtest1_exec(tls,
  2788  		ts+9483, 0)
  2789  	speedtest1_end_test(tls)
  2790  }
  2791  
  2792  func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) {
  2793  	var d uint32
  2794  	var x0 uint32
  2795  	var x1 uint32
  2796  	var span uint32
  2797  
  2798  	span = mx/uint32(100) + uint32(1)
  2799  	if speedtest1_random(tls)%uint32(3) == uint32(0) {
  2800  		span = span * uint32(p1)
  2801  	}
  2802  	if speedtest1_random(tls)%uint32(p2) == uint32(0) {
  2803  		span = mx / uint32(2)
  2804  	}
  2805  	d = speedtest1_random(tls)%span + uint32(1)
  2806  	x0 = speedtest1_random(tls)%(mx-d) + uint32(1)
  2807  	x1 = x0 + d
  2808  	*(*uint32)(unsafe.Pointer(pX0)) = x0
  2809  	*(*uint32)(unsafe.Pointer(pX1)) = x1
  2810  }
  2811  
  2812  func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 {
  2813  	*(*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)))
  2814  	return SQLITE_OK
  2815  }
  2816  
  2817  func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) {
  2818  	bp := tls.Alloc(224)
  2819  	defer tls.Free(224)
  2820  
  2821  	var i uint32
  2822  	var n uint32
  2823  	var mxCoord uint32
  2824  
  2825  	var iStep uint32
  2826  	var mxRowid uint32
  2827  	var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(g.szTest)*uint64(500)))
  2828  
  2829  	mxCoord = uint32(15000)
  2830  	mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500))
  2831  	speedtest1_begin_test(tls, 100, ts+9578, libc.VaList(bp, n))
  2832  	speedtest1_exec(tls, ts+2913, 0)
  2833  	speedtest1_exec(tls, ts+9604, 0)
  2834  	speedtest1_prepare(tls,
  2835  		ts+9663, 0)
  2836  	for i = uint32(1); i <= n; i++ {
  2837  		twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204)
  2838  		twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212)
  2839  		twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220)
  2840  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
  2841  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200))))
  2842  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204))))
  2843  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208))))
  2844  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212))))
  2845  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216))))
  2846  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220))))
  2847  		speedtest1_run(tls)
  2848  	}
  2849  	speedtest1_exec(tls, ts+3023, 0)
  2850  	speedtest1_end_test(tls)
  2851  
  2852  	speedtest1_begin_test(tls, 101, ts+9729, 0)
  2853  	speedtest1_exec(tls, ts+9764, 0)
  2854  	speedtest1_exec(tls, ts+9822, 0)
  2855  	speedtest1_end_test(tls)
  2856  
  2857  	n = uint32(g.szTest * 200)
  2858  	speedtest1_begin_test(tls, 110, ts+9855, libc.VaList(bp+8, n))
  2859  	speedtest1_prepare(tls, ts+9898, 0)
  2860  	iStep = mxCoord / n
  2861  	for i = uint32(0); i < n; i++ {
  2862  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2863  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2864  		speedtest1_run(tls)
  2865  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2866  	}
  2867  	speedtest1_end_test(tls)
  2868  
  2869  	if g.bVerify != 0 {
  2870  		n = uint32(g.szTest * 200)
  2871  		speedtest1_begin_test(tls, 111, ts+9947, 0)
  2872  		speedtest1_prepare(tls, ts+9994, 0)
  2873  		iStep = mxCoord / n
  2874  		for i = uint32(0); i < n; i++ {
  2875  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2876  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2877  			speedtest1_run(tls)
  2878  			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2879  				fatal_error(tls, ts+10042,
  2880  					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)))
  2881  			}
  2882  		}
  2883  		speedtest1_end_test(tls)
  2884  	}
  2885  
  2886  	n = uint32(g.szTest * 200)
  2887  	speedtest1_begin_test(tls, 120, ts+10084, libc.VaList(bp+56, n))
  2888  	speedtest1_prepare(tls, ts+10125, 0)
  2889  	iStep = mxCoord / n
  2890  	for i = uint32(0); i < n; i++ {
  2891  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2892  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2893  		speedtest1_run(tls)
  2894  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2895  	}
  2896  	speedtest1_end_test(tls)
  2897  
  2898  	if g.bVerify != 0 {
  2899  		n = uint32(g.szTest * 200)
  2900  		speedtest1_begin_test(tls, 121, ts+10174, 0)
  2901  		speedtest1_prepare(tls, ts+10219, 0)
  2902  		iStep = mxCoord / n
  2903  		for i = uint32(0); i < n; i++ {
  2904  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2905  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2906  			speedtest1_run(tls)
  2907  			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2908  				fatal_error(tls, ts+10042,
  2909  					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)))
  2910  			}
  2911  		}
  2912  		speedtest1_end_test(tls)
  2913  	}
  2914  
  2915  	n = uint32(g.szTest * 200)
  2916  	speedtest1_begin_test(tls, 125, ts+10267, libc.VaList(bp+104, n))
  2917  	sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10303, *(*uintptr)(unsafe.Pointer(&struct {
  2918  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2919  	}{xsliceGeometryCallback})), uintptr(0))
  2920  	speedtest1_prepare(tls, ts+10310, 0)
  2921  	iStep = mxCoord / n
  2922  	for i = uint32(0); i < n; i++ {
  2923  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2924  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2925  		speedtest1_run(tls)
  2926  		if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
  2927  			fatal_error(tls, ts+10042,
  2928  				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)))
  2929  		}
  2930  	}
  2931  	speedtest1_end_test(tls)
  2932  
  2933  	n = uint32(g.szTest * 400)
  2934  	speedtest1_begin_test(tls, 130, ts+10364, libc.VaList(bp+152, n))
  2935  	speedtest1_prepare(tls,
  2936  		ts+10407, 0)
  2937  	iStep = mxCoord / n
  2938  	for i = uint32(0); i < n; i++ {
  2939  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2940  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
  2941  		speedtest1_run(tls)
  2942  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2943  	}
  2944  	speedtest1_end_test(tls)
  2945  
  2946  	n = uint32(g.szTest * 500)
  2947  	speedtest1_begin_test(tls, 140, ts+10500, libc.VaList(bp+160, n))
  2948  	speedtest1_prepare(tls, ts+10517, 0)
  2949  	for i = uint32(1); i <= n; i++ {
  2950  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
  2951  		speedtest1_run(tls)
  2952  	}
  2953  	speedtest1_end_test(tls)
  2954  
  2955  	n = uint32(g.szTest * 50)
  2956  	speedtest1_begin_test(tls, 150, ts+10547, libc.VaList(bp+168, n))
  2957  	speedtest1_prepare(tls, ts+10570, 0)
  2958  	for i = uint32(1); i <= n; i++ {
  2959  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1)))
  2960  		speedtest1_run(tls)
  2961  	}
  2962  	speedtest1_end_test(tls)
  2963  
  2964  	n = uint32(g.szTest * 5)
  2965  	speedtest1_begin_test(tls, 155, ts+10618, libc.VaList(bp+176, n))
  2966  	speedtest1_prepare(tls,
  2967  		ts+10659, 0)
  2968  	iStep = mxCoord / n
  2969  	for i = uint32(0); i < n; i++ {
  2970  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2971  		speedtest1_run(tls)
  2972  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2973  	}
  2974  	speedtest1_end_test(tls)
  2975  
  2976  	n = uint32(g.szTest * 50)
  2977  	speedtest1_begin_test(tls, 160, ts+10721, libc.VaList(bp+184, n))
  2978  	speedtest1_prepare(tls, ts+10744, 0)
  2979  	for i = uint32(1); i <= n; i++ {
  2980  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1)))
  2981  		speedtest1_run(tls)
  2982  	}
  2983  	speedtest1_end_test(tls)
  2984  
  2985  	n = uint32(g.szTest * 5)
  2986  	speedtest1_begin_test(tls, 165, ts+10772, libc.VaList(bp+192, n))
  2987  	speedtest1_prepare(tls, ts+10813, 0)
  2988  	iStep = mxCoord / n
  2989  	for i = uint32(0); i < n; i++ {
  2990  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
  2991  		speedtest1_run(tls)
  2992  		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
  2993  	}
  2994  	speedtest1_end_test(tls)
  2995  
  2996  	speedtest1_begin_test(tls, 170, ts+10855, 0)
  2997  	speedtest1_exec(tls, ts+10902, 0)
  2998  	speedtest1_end_test(tls)
  2999  }
  3000  
  3001  func testset_orm(tls *libc.TLS) {
  3002  	bp := tls.Alloc(2016)
  3003  	defer tls.Free(2016)
  3004  
  3005  	var i uint32
  3006  	var j uint32
  3007  	var n uint32
  3008  	var nRow uint32
  3009  	var x1 uint32
  3010  	var len uint32
  3011  
  3012  	nRow = libc.AssignUint32(&n, uint32(g.szTest*250))
  3013  	speedtest1_begin_test(tls, 100, ts+10945, libc.VaList(bp, n))
  3014  	speedtest1_exec(tls,
  3015  		ts+10958, 0)
  3016  	speedtest1_prepare(tls,
  3017  		ts+14858, 0)
  3018  	for i = uint32(0); i < n; i++ {
  3019  		x1 = speedtest1_random(tls)
  3020  		speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]uint8{})))
  3021  		len = uint32(int32(libc.Xstrlen(tls, bp+16)))
  3022  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf)))
  3023  		for j = uint32(0); zType[j] != 0; j++ {
  3024  			switch int32(zType[j]) {
  3025  			case 'I':
  3026  				fallthrough
  3027  			case 'T':
  3028  				sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1))
  3029  				break
  3030  			case 'F':
  3031  				sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1))
  3032  				break
  3033  			case 'V':
  3034  				fallthrough
  3035  			case 'B':
  3036  				sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len),
  3037  					uintptr(0), uint8(SQLITE_UTF8))
  3038  				break
  3039  			}
  3040  		}
  3041  		speedtest1_run(tls)
  3042  	}
  3043  	speedtest1_exec(tls, ts+3990, 0)
  3044  	speedtest1_end_test(tls)
  3045  
  3046  	n = uint32(g.szTest * 250)
  3047  	speedtest1_begin_test(tls, 110, ts+18102, libc.VaList(bp+8, n))
  3048  	speedtest1_prepare(tls,
  3049  		ts+18125, 0)
  3050  	for i = uint32(0); i < n; i++ {
  3051  		x1 = speedtest1_random(tls) % nRow
  3052  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
  3053  		speedtest1_run(tls)
  3054  	}
  3055  	speedtest1_end_test(tls)
  3056  }
  3057  
  3058  var zType = *(*[120]uint8)(unsafe.Pointer(ts + 20878))
  3059  
  3060  func testset_trigger(tls *libc.TLS) {
  3061  	bp := tls.Alloc(2032)
  3062  	defer tls.Free(2032)
  3063  
  3064  	var jj int32
  3065  	var ii int32
  3066  
  3067  	var NROW int32 = 500 * g.szTest
  3068  	var NROW2 int32 = 100 * g.szTest
  3069  
  3070  	speedtest1_exec(tls,
  3071  		ts+20998, 0)
  3072  	for jj = 1; jj <= 3; jj++ {
  3073  		speedtest1_prepare(tls, ts+21326, libc.VaList(bp, jj))
  3074  		for ii = 0; ii < NROW; ii++ {
  3075  			var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW))
  3076  			speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3077  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1)
  3078  			sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3079  			speedtest1_run(tls)
  3080  		}
  3081  	}
  3082  	speedtest1_exec(tls,
  3083  		ts+21361, 0)
  3084  
  3085  	speedtest1_begin_test(tls, 100, ts+21444, 0)
  3086  	speedtest1_prepare(tls,
  3087  		ts+21458, 0)
  3088  	speedtest1_run(tls)
  3089  	speedtest1_end_test(tls)
  3090  
  3091  	speedtest1_begin_test(tls, 110, ts+21525, 0)
  3092  	speedtest1_prepare(tls,
  3093  		ts+21539, 0)
  3094  	speedtest1_run(tls)
  3095  	speedtest1_end_test(tls)
  3096  
  3097  	speedtest1_begin_test(tls, 120, ts+21598, 0)
  3098  	for jj = 1; jj <= 3; jj++ {
  3099  		speedtest1_prepare(tls, ts+21612, libc.VaList(bp+8, jj))
  3100  		for ii = 0; ii < NROW2; ii = ii + 3 {
  3101  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  3102  			speedtest1_run(tls)
  3103  		}
  3104  	}
  3105  	speedtest1_end_test(tls)
  3106  
  3107  	speedtest1_begin_test(tls, 130, ts+21646, 0)
  3108  	for jj = 1; jj <= 3; jj++ {
  3109  		speedtest1_prepare(tls, ts+21661, libc.VaList(bp+16, jj))
  3110  		for ii = 0; ii < NROW2; ii = ii + 3 {
  3111  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  3112  			speedtest1_run(tls)
  3113  		}
  3114  	}
  3115  	speedtest1_end_test(tls)
  3116  
  3117  	speedtest1_begin_test(tls, 140, ts+21646, 0)
  3118  	for jj = 1; jj <= 3; jj++ {
  3119  		speedtest1_prepare(tls, ts+21661, libc.VaList(bp+24, jj))
  3120  		for ii = 0; ii < NROW2; ii = ii + 3 {
  3121  			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
  3122  			speedtest1_run(tls)
  3123  		}
  3124  	}
  3125  	speedtest1_end_test(tls)
  3126  
  3127  	speedtest1_begin_test(tls, 150, ts+21695, 0)
  3128  	speedtest1_prepare(tls,
  3129  		ts+21714, 0)
  3130  	for jj = 0; jj < NROW2; jj++ {
  3131  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3)
  3132  		speedtest1_run(tls)
  3133  	}
  3134  	speedtest1_end_test(tls)
  3135  
  3136  	speedtest1_begin_test(tls, 160, ts+21829, 0)
  3137  	speedtest1_exec(tls, ts+2913, 0)
  3138  	speedtest1_prepare(tls, ts+21850, 0)
  3139  	for jj = 0; jj < NROW2; jj++ {
  3140  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3141  		speedtest1_run(tls)
  3142  	}
  3143  	speedtest1_exec(tls, ts+3023, 0)
  3144  	speedtest1_end_test(tls)
  3145  
  3146  	speedtest1_exec(tls, ts+21885, 0)
  3147  	speedtest1_begin_test(tls, 170, ts+21933, 0)
  3148  	speedtest1_exec(tls, ts+21955, 0)
  3149  	speedtest1_end_test(tls)
  3150  
  3151  	speedtest1_exec(tls,
  3152  		ts+22000, 0)
  3153  
  3154  	speedtest1_begin_test(tls, 180, ts+22490, 0)
  3155  	speedtest1_prepare(tls, ts+22507, 0)
  3156  	for jj = 0; jj < NROW2; jj++ {
  3157  		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3158  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3159  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3160  		speedtest1_run(tls)
  3161  	}
  3162  	speedtest1_end_test(tls)
  3163  
  3164  	speedtest1_begin_test(tls, 190, ts+22543, 0)
  3165  	speedtest1_prepare(tls, ts+22560, 0)
  3166  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3167  		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3168  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3169  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3170  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
  3171  		speedtest1_run(tls)
  3172  	}
  3173  	speedtest1_end_test(tls)
  3174  
  3175  	speedtest1_begin_test(tls, 200, ts+22606, 0)
  3176  	speedtest1_prepare(tls, ts+22623, 0)
  3177  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3178  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3179  		speedtest1_run(tls)
  3180  	}
  3181  	speedtest1_end_test(tls)
  3182  	speedtest1_exec(tls, ts+3023, 0)
  3183  
  3184  	speedtest1_exec(tls,
  3185  		ts+22655, 0)
  3186  	speedtest1_begin_test(tls, 210, ts+22760, 0)
  3187  	speedtest1_prepare(tls, ts+22507, 0)
  3188  	for jj = 0; jj < NROW2; jj++ {
  3189  		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3190  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
  3191  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3192  		speedtest1_run(tls)
  3193  	}
  3194  	speedtest1_end_test(tls)
  3195  	speedtest1_begin_test(tls, 210, ts+22779, 0)
  3196  	speedtest1_prepare(tls, ts+22560, 0)
  3197  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3198  		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3199  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3200  		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
  3201  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
  3202  		speedtest1_run(tls)
  3203  	}
  3204  	speedtest1_end_test(tls)
  3205  	speedtest1_begin_test(tls, 220, ts+22798, 0)
  3206  	speedtest1_prepare(tls, ts+22623, 0)
  3207  	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
  3208  		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
  3209  		speedtest1_run(tls)
  3210  	}
  3211  	speedtest1_end_test(tls)
  3212  	speedtest1_exec(tls, ts+3023, 0)
  3213  }
  3214  
  3215  func testset_debug1(tls *libc.TLS) {
  3216  	bp := tls.Alloc(2032)
  3217  	defer tls.Free(2032)
  3218  
  3219  	var i uint32
  3220  	var n uint32
  3221  	var x1 uint32
  3222  	var x2 uint32
  3223  
  3224  	n = uint32(g.szTest)
  3225  	for i = uint32(1); i <= n; i++ {
  3226  		x1 = swizzle(tls, i, n)
  3227  		x2 = swizzle(tls, x1, n)
  3228  		speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]uint8{})))
  3229  		libc.Xprintf(tls, ts+22817, libc.VaList(bp, i, x1, x2, bp+32))
  3230  	}
  3231  }
  3232  
  3233  func displayLinuxIoStats(tls *libc.TLS, out uintptr) {
  3234  	bp := tls.Alloc(224)
  3235  	defer tls.Free(224)
  3236  
  3237  	var in uintptr
  3238  
  3239  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]uint8{})), bp+24, ts+22833, libc.VaList(bp, libc.Xgetpid(tls)))
  3240  	in = libc.Xfopen(tls, bp+24, ts+22845)
  3241  	if in == uintptr(0) {
  3242  		return
  3243  	}
  3244  	for libc.Xfgets(tls, bp+24, int32(unsafe.Sizeof([200]uint8{})), in) != uintptr(0) {
  3245  		var i int32
  3246  		for i = 0; uint64(i) < uint64(unsafe.Sizeof(aTrans))/uint64(unsafe.Sizeof(struct {
  3247  			zPattern uintptr
  3248  			zDesc    uintptr
  3249  		}{})); i++ {
  3250  			var n int32 = int32(libc.Xstrlen(tls, aTrans[i].zPattern))
  3251  			if libc.Xstrncmp(tls, aTrans[i].zPattern, bp+24, uint64(n)) == 0 {
  3252  				libc.Xfprintf(tls, out, ts+22848, libc.VaList(bp+8, aTrans[i].zDesc, bp+24+uintptr(n)))
  3253  				break
  3254  			}
  3255  		}
  3256  	}
  3257  	libc.Xfclose(tls, in)
  3258  }
  3259  
  3260  var aTrans = [7]struct {
  3261  	zPattern uintptr
  3262  	zDesc    uintptr
  3263  }{
  3264  	{zPattern: ts + 22860, zDesc: ts + 22868},
  3265  	{zPattern: ts + 22894, zDesc: ts + 22902},
  3266  	{zPattern: ts + 22925, zDesc: ts + 22933},
  3267  	{zPattern: ts + 22954, zDesc: ts + 22962},
  3268  	{zPattern: ts + 22984, zDesc: ts + 22997},
  3269  	{zPattern: ts + 23022, zDesc: ts + 23036},
  3270  	{zPattern: ts + 23059, zDesc: ts + 23083},
  3271  }
  3272  
  3273  func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 {
  3274  	bp := tls.Alloc(8)
  3275  	defer tls.Free(8)
  3276  
  3277  	libc.Xprintf(tls, ts+23106, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal))))
  3278  	return SQLITE_OK
  3279  }
  3280  
  3281  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
  3282  	bp := tls.Alloc(576)
  3283  	defer tls.Free(576)
  3284  
  3285  	var doAutovac int32 = 0
  3286  	var cacheSize int32 = 0
  3287  	var doExclusive int32 = 0
  3288  	var nHeap int32 = 0
  3289  	var mnHeap int32 = 0
  3290  	var doIncrvac int32 = 0
  3291  	var zJMode uintptr = uintptr(0)
  3292  	var zKey uintptr = uintptr(0)
  3293  	var nLook int32 = -1
  3294  	var szLook int32 = 0
  3295  	var noSync int32 = 0
  3296  	var pageSize int32 = 0
  3297  	var nPCache int32 = 0
  3298  	var szPCache int32 = 0
  3299  	var doPCache int32 = 0
  3300  	var showStats int32 = 0
  3301  	var nThread int32 = 0
  3302  	var mmapSize int32 = 0
  3303  	var memDb int32 = 0
  3304  	var zTSet uintptr = ts + 23129
  3305  	var doTrace int32 = 0
  3306  	var zEncoding uintptr = uintptr(0)
  3307  	var zDbName uintptr = uintptr(0)
  3308  
  3309  	var pHeap uintptr = uintptr(0)
  3310  	var pLook uintptr = uintptr(0)
  3311  	var pPCache uintptr = uintptr(0)
  3312  
  3313  	var i int32
  3314  	var rc int32
  3315  
  3316  	libc.Xprintf(tls, ts+23134,
  3317  		libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls)))
  3318  
  3319  	g.zWR = ts + 2269
  3320  	g.zNN = ts + 2269
  3321  	g.zPK = ts + 23169
  3322  	g.szTest = 100
  3323  	g.nRepeat = 1
  3324  	for i = 1; i < argc; i++ {
  3325  		var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
  3326  		if int32(*(*uint8)(unsafe.Pointer(z))) == '-' {
  3327  			for __ccgo := true; __ccgo; __ccgo = int32(*(*uint8)(unsafe.Pointer(z))) == '-' {
  3328  				z++
  3329  			}
  3330  			if libc.Xstrcmp(tls, z, ts+23176) == 0 {
  3331  				doAutovac = 1
  3332  			} else if libc.Xstrcmp(tls, z, ts+23187) == 0 {
  3333  				if i >= argc-1 {
  3334  					fatal_error(tls, ts+23197, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3335  				}
  3336  				i++
  3337  				cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
  3338  			} else if libc.Xstrcmp(tls, z, ts+23221) == 0 {
  3339  				doExclusive = 1
  3340  			} else if libc.Xstrcmp(tls, z, ts+23231) == 0 {
  3341  				g.doCheckpoint = 1
  3342  			} else if libc.Xstrcmp(tls, z, ts+23242) == 0 {
  3343  				g.bSqlOnly = 1
  3344  				g.bExplain = 1
  3345  			} else if libc.Xstrcmp(tls, z, ts+23250) == 0 {
  3346  				if i >= argc-2 {
  3347  					fatal_error(tls, ts+23255, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3348  				}
  3349  				nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3350  				mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3351  				i = i + 2
  3352  			} else if libc.Xstrcmp(tls, z, ts+23280) == 0 {
  3353  				doIncrvac = 1
  3354  			} else if libc.Xstrcmp(tls, z, ts+23291) == 0 {
  3355  				if i >= argc-1 {
  3356  					fatal_error(tls, ts+23197, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3357  				}
  3358  				zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3359  			} else if libc.Xstrcmp(tls, z, ts+23299) == 0 {
  3360  				if i >= argc-1 {
  3361  					fatal_error(tls, ts+23197, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3362  				}
  3363  				zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3364  			} else if libc.Xstrcmp(tls, z, ts+23303) == 0 {
  3365  				if i >= argc-2 {
  3366  					fatal_error(tls, ts+23255, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3367  				}
  3368  				nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3369  				szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3370  				i = i + 2
  3371  			} else if libc.Xstrcmp(tls, z, ts+23313) == 0 {
  3372  				memDb = 1
  3373  			} else if libc.Xstrcmp(tls, z, ts+23319) == 0 {
  3374  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0)
  3375  			} else if libc.Xstrcmp(tls, z, ts+23331) == 0 {
  3376  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0))
  3377  			} else if libc.Xstrcmp(tls, z, ts+23341) == 0 {
  3378  				if i >= argc-1 {
  3379  					fatal_error(tls, ts+23197, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3380  				}
  3381  				mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3382  			} else if libc.Xstrcmp(tls, z, ts+23346) == 0 {
  3383  				noSync = 1
  3384  			} else if libc.Xstrcmp(tls, z, ts+23353) == 0 {
  3385  				g.zNN = ts + 23361
  3386  			} else if libc.Xstrcmp(tls, z, ts+23370) == 0 {
  3387  				if i >= argc-1 {
  3388  					fatal_error(tls, ts+23197, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3389  				}
  3390  				i++
  3391  				if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23377) == 0 {
  3392  					g.hashFile = libc.Xstdout
  3393  				} else {
  3394  					g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23379)
  3395  					if g.hashFile == uintptr(0) {
  3396  						fatal_error(tls, ts+23382, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3397  					}
  3398  				}
  3399  			} else if libc.Xstrcmp(tls, z, ts+23412) == 0 {
  3400  				if i >= argc-1 {
  3401  					fatal_error(tls, ts+23197, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3402  				}
  3403  				pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3404  			} else if libc.Xstrcmp(tls, z, ts+23421) == 0 {
  3405  				if i >= argc-2 {
  3406  					fatal_error(tls, ts+23255, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3407  				}
  3408  				nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3409  				szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
  3410  				doPCache = 1
  3411  				i = i + 2
  3412  			} else if libc.Xstrcmp(tls, z, ts+23428) == 0 {
  3413  				g.zPK = ts + 23439
  3414  			} else if libc.Xstrcmp(tls, z, ts+23451) == 0 {
  3415  				if i >= argc-1 {
  3416  					fatal_error(tls, ts+23255, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3417  				}
  3418  				g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
  3419  				i = i + 1
  3420  			} else if libc.Xstrcmp(tls, z, ts+23458) == 0 {
  3421  				g.bReprepare = 1
  3422  			} else if libc.Xstrcmp(tls, z, ts+23468) == 0 {
  3423  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0)
  3424  			} else if libc.Xstrcmp(tls, z, ts+23479) == 0 {
  3425  				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0)
  3426  			} else if libc.Xstrcmp(tls, z, ts+23492) == 0 {
  3427  				g.bSqlOnly = 1
  3428  			} else if libc.Xstrcmp(tls, z, ts+23500) == 0 {
  3429  				g.bMemShrink = 1
  3430  			} else if libc.Xstrcmp(tls, z, ts+23514) == 0 {
  3431  				if i >= argc-1 {
  3432  					fatal_error(tls, ts+23197, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3433  				}
  3434  				g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3435  			} else if libc.Xstrcmp(tls, z, ts+23519) == 0 {
  3436  				showStats = 1
  3437  			} else if libc.Xstrcmp(tls, z, ts+23525) == 0 {
  3438  				if i >= argc-1 {
  3439  					fatal_error(tls, ts+23197, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3440  				}
  3441  				i++
  3442  				if int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) < '0' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) > '9' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) + 1))) != 0 {
  3443  					fatal_error(tls, ts+23530, 0)
  3444  				}
  3445  				g.eTemp = int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) - '0'
  3446  			} else if libc.Xstrcmp(tls, z, ts+23583) == 0 {
  3447  				if i >= argc-1 {
  3448  					fatal_error(tls, ts+23197, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3449  				}
  3450  				zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
  3451  			} else if libc.Xstrcmp(tls, z, ts+23591) == 0 {
  3452  				doTrace = 1
  3453  			} else if libc.Xstrcmp(tls, z, ts+23597) == 0 {
  3454  				if i >= argc-1 {
  3455  					fatal_error(tls, ts+23197, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3456  				}
  3457  				nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3458  			} else if libc.Xstrcmp(tls, z, ts+23605) == 0 {
  3459  				zEncoding = ts + 23605
  3460  			} else if libc.Xstrcmp(tls, z, ts+23613) == 0 {
  3461  				zEncoding = ts + 23613
  3462  			} else if libc.Xstrcmp(tls, z, ts+23621) == 0 {
  3463  				g.bVerify = 1
  3464  				HashInit(tls)
  3465  			} else if libc.Xstrcmp(tls, z, ts+23628) == 0 {
  3466  				if i >= argc-1 {
  3467  					fatal_error(tls, ts+23197, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3468  				}
  3469  				g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
  3470  			} else if libc.Xstrcmp(tls, z, ts+23636) == 0 {
  3471  				if libc.Xstrstr(tls, g.zWR, ts+23650) != uintptr(0) {
  3472  				} else if libc.Xstrstr(tls, g.zWR, ts+23658) != uintptr(0) {
  3473  					g.zWR = ts + 23665
  3474  				} else {
  3475  					g.zWR = ts + 6036
  3476  				}
  3477  				g.zPK = ts + 23439
  3478  			} else if libc.Xstrcmp(tls, z, ts+23686) == 0 {
  3479  				if libc.Xstrstr(tls, g.zWR, ts+23658) != uintptr(0) {
  3480  				} else if libc.Xstrstr(tls, g.zWR, ts+23650) != uintptr(0) {
  3481  					g.zWR = ts + 23665
  3482  				} else {
  3483  					g.zWR = ts + 23658
  3484  				}
  3485  			} else if libc.Xstrcmp(tls, z, ts+23693) == 0 || libc.Xstrcmp(tls, z, ts+23698) == 0 {
  3486  				libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv))))
  3487  				libc.Xexit(tls, 0)
  3488  			} else {
  3489  				fatal_error(tls, ts+23700,
  3490  					libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
  3491  			}
  3492  		} else if zDbName == uintptr(0) {
  3493  			zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
  3494  		} else {
  3495  			fatal_error(tls, ts+23741,
  3496  				libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
  3497  		}
  3498  	}
  3499  	if zDbName != uintptr(0) {
  3500  		libc.Xunlink(tls, zDbName)
  3501  	}
  3502  	if nHeap > 0 {
  3503  		pHeap = libc.Xmalloc(tls, uint64(nHeap))
  3504  		if pHeap == uintptr(0) {
  3505  			fatal_error(tls, ts+23784, libc.VaList(bp+192, nHeap))
  3506  		}
  3507  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap))
  3508  		if rc != 0 {
  3509  			fatal_error(tls, ts+23814, libc.VaList(bp+224, rc))
  3510  		}
  3511  	}
  3512  	if doPCache != 0 {
  3513  		if nPCache > 0 && szPCache > 0 {
  3514  			pPCache = libc.Xmalloc(tls, uint64(sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
  3515  			if pPCache == uintptr(0) {
  3516  				fatal_error(tls, ts+23845,
  3517  					libc.VaList(bp+232, sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
  3518  			}
  3519  		}
  3520  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache))
  3521  		if rc != 0 {
  3522  			fatal_error(tls, ts+23879, libc.VaList(bp+264, rc))
  3523  		}
  3524  	}
  3525  	if nLook >= 0 {
  3526  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0))
  3527  	}
  3528  	sqlite3.Xsqlite3_initialize(tls)
  3529  
  3530  	if sqlite3.Xsqlite3_open(tls, func() uintptr {
  3531  		if memDb != 0 {
  3532  			return ts + 23912
  3533  		}
  3534  		return zDbName
  3535  	}(), uintptr(unsafe.Pointer(&g))) != 0 {
  3536  		fatal_error(tls, ts+23921, libc.VaList(bp+288, zDbName))
  3537  	}
  3538  	if nLook > 0 && szLook > 0 {
  3539  		pLook = libc.Xmalloc(tls, uint64(nLook*szLook))
  3540  		rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook))
  3541  		if rc != 0 {
  3542  			fatal_error(tls, ts+23952, libc.VaList(bp+320, rc))
  3543  		}
  3544  	}
  3545  	if g.nReserve > 0 {
  3546  		sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+72)
  3547  	}
  3548  
  3549  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+23988, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
  3550  		f func(*libc.TLS, uintptr, int32, uintptr)
  3551  	}{randomFunc})), uintptr(0), uintptr(0))
  3552  	if doTrace != 0 {
  3553  		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  3554  			f func(*libc.TLS, uintptr, uintptr)
  3555  		}{traceCallback})), uintptr(0))
  3556  	}
  3557  	if memDb > 0 {
  3558  		speedtest1_exec(tls, ts+23995, 0)
  3559  	}
  3560  	if mmapSize > 0 {
  3561  		speedtest1_exec(tls, ts+24020, libc.VaList(bp+328, mmapSize))
  3562  	}
  3563  	speedtest1_exec(tls, ts+24040, libc.VaList(bp+336, nThread))
  3564  	if zKey != 0 {
  3565  		speedtest1_exec(tls, ts+24058, libc.VaList(bp+344, zKey))
  3566  	}
  3567  	if zEncoding != 0 {
  3568  		speedtest1_exec(tls, ts+24075, libc.VaList(bp+352, zEncoding))
  3569  	}
  3570  	if doAutovac != 0 {
  3571  		speedtest1_exec(tls, ts+24094, 0)
  3572  	} else if doIncrvac != 0 {
  3573  		speedtest1_exec(tls, ts+24118, 0)
  3574  	}
  3575  	if pageSize != 0 {
  3576  		speedtest1_exec(tls, ts+24149, libc.VaList(bp+360, pageSize))
  3577  	}
  3578  	if cacheSize != 0 {
  3579  		speedtest1_exec(tls, ts+24169, libc.VaList(bp+368, cacheSize))
  3580  	}
  3581  	if noSync != 0 {
  3582  		speedtest1_exec(tls, ts+24190, 0)
  3583  	}
  3584  	if doExclusive != 0 {
  3585  		speedtest1_exec(tls, ts+24213, 0)
  3586  	}
  3587  	if zJMode != 0 {
  3588  		speedtest1_exec(tls, ts+24243, libc.VaList(bp+376, zJMode))
  3589  	}
  3590  
  3591  	if g.bExplain != 0 {
  3592  		libc.Xprintf(tls, ts+24266, 0)
  3593  	}
  3594  	for __ccgo1 := true; __ccgo1; __ccgo1 = *(*uint8)(unsafe.Pointer(zTSet)) != 0 {
  3595  		var zThisTest uintptr = zTSet
  3596  		var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',')
  3597  		if zComma != 0 {
  3598  			*(*uint8)(unsafe.Pointer(zComma)) = uint8(0)
  3599  			zTSet = zComma + uintptr(1)
  3600  		} else {
  3601  			zTSet = ts + 2269
  3602  		}
  3603  		if g.iTotal > int64(0) || zComma != uintptr(0) {
  3604  			libc.Xprintf(tls, ts+24285, libc.VaList(bp+384, zThisTest))
  3605  		}
  3606  		if libc.Xstrcmp(tls, zThisTest, ts+23129) == 0 {
  3607  			testset_main(tls)
  3608  		} else if libc.Xstrcmp(tls, zThisTest, ts+24312) == 0 {
  3609  			testset_debug1(tls)
  3610  		} else if libc.Xstrcmp(tls, zThisTest, ts+24319) == 0 {
  3611  			testset_orm(tls)
  3612  		} else if libc.Xstrcmp(tls, zThisTest, ts+24323) == 0 {
  3613  			testset_cte(tls)
  3614  		} else if libc.Xstrcmp(tls, zThisTest, ts+24327) == 0 {
  3615  			testset_fp(tls)
  3616  		} else if libc.Xstrcmp(tls, zThisTest, ts+24330) == 0 {
  3617  			testset_trigger(tls)
  3618  		} else if libc.Xstrcmp(tls, zThisTest, ts+24338) == 0 {
  3619  			testset_rtree(tls, 6, 147)
  3620  		} else {
  3621  			fatal_error(tls,
  3622  				ts+24344,
  3623  				libc.VaList(bp+392, zThisTest))
  3624  		}
  3625  		if *(*uint8)(unsafe.Pointer(zTSet)) != 0 {
  3626  			var zSql uintptr
  3627  			var zObj uintptr
  3628  			speedtest1_begin_test(tls, 999, ts+24413, 0)
  3629  			for 1 != 0 {
  3630  				zObj = speedtest1_once(tls,
  3631  					ts+24432, 0)
  3632  				if zObj == uintptr(0) {
  3633  					break
  3634  				}
  3635  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24502, libc.VaList(bp+400, zObj))
  3636  				speedtest1_exec(tls, zSql, 0)
  3637  				sqlite3.Xsqlite3_free(tls, zSql)
  3638  				sqlite3.Xsqlite3_free(tls, zObj)
  3639  			}
  3640  			for 1 != 0 {
  3641  				zObj = speedtest1_once(tls,
  3642  					ts+24523, 0)
  3643  				if zObj == uintptr(0) {
  3644  					break
  3645  				}
  3646  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24502, libc.VaList(bp+408, zObj))
  3647  				speedtest1_exec(tls, zSql, 0)
  3648  				sqlite3.Xsqlite3_free(tls, zSql)
  3649  				sqlite3.Xsqlite3_free(tls, zObj)
  3650  			}
  3651  			speedtest1_end_test(tls)
  3652  		}
  3653  	}
  3654  	speedtest1_final(tls)
  3655  
  3656  	if showStats != 0 {
  3657  		sqlite3.Xsqlite3_exec(tls, g.db, ts+24593, *(*uintptr)(unsafe.Pointer(&struct {
  3658  			f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  3659  		}{xCompileOptions})), uintptr(0), uintptr(0))
  3660  	}
  3661  
  3662  	if showStats != 0 {
  3663  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568, bp+572, 0)
  3664  		libc.Xprintf(tls, ts+24616, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3665  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568, bp+572, 0)
  3666  		libc.Xprintf(tls, ts+24661, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572))))
  3667  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568, bp+572, 0)
  3668  		libc.Xprintf(tls, ts+24697, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572))))
  3669  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568, bp+572, 0)
  3670  		libc.Xprintf(tls, ts+24733, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572))))
  3671  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568, bp+572, 0)
  3672  		libc.Xprintf(tls, ts+24769, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568))))
  3673  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568, bp+572, 1)
  3674  		libc.Xprintf(tls, ts+24811, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568))))
  3675  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568, bp+572, 1)
  3676  		libc.Xprintf(tls, ts+24847, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568))))
  3677  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568, bp+572, 1)
  3678  		libc.Xprintf(tls, ts+24883, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568))))
  3679  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568, bp+572, 0)
  3680  		libc.Xprintf(tls, ts+24919, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568))))
  3681  		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568, bp+572, 0)
  3682  		libc.Xprintf(tls, ts+24961, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568))))
  3683  	}
  3684  
  3685  	sqlite3.Xsqlite3_close(tls, g.db)
  3686  
  3687  	if showStats != 0 {
  3688  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568, bp+572, 0)
  3689  		libc.Xprintf(tls, ts+25003, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3690  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568, bp+572, 0)
  3691  		libc.Xprintf(tls, ts+25048, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3692  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568, bp+572, 0)
  3693  		libc.Xprintf(tls, ts+25093, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572))))
  3694  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568, bp+572, 0)
  3695  		libc.Xprintf(tls, ts+25138, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572))))
  3696  		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568, bp+572, 0)
  3697  		libc.Xprintf(tls, ts+25180, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572))))
  3698  	}
  3699  
  3700  	if showStats != 0 {
  3701  		displayLinuxIoStats(tls, libc.Xstdout)
  3702  	}
  3703  
  3704  	libc.Xfree(tls, pLook)
  3705  	libc.Xfree(tls, pPCache)
  3706  	libc.Xfree(tls, pHeap)
  3707  	return 0
  3708  }
  3709  
  3710  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"
  3711  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data