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