gitlab.com/CoiaPrant/sqlite3@v1.19.1/speedtest1/main_freebsd_386.go (about) 1 // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_freebsd_386.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 CLOSE_RANGE_CLOEXEC = 4 30 EOF = -1 31 EXIT_FAILURE = 1 32 EXIT_SUCCESS = 0 33 FD_SETSIZE = 1024 34 FILENAME_MAX = 1024 35 FOPEN_MAX = 20 36 FTS5_TOKENIZE_AUX = 0x0008 37 FTS5_TOKENIZE_DOCUMENT = 0x0004 38 FTS5_TOKENIZE_PREFIX = 0x0002 39 FTS5_TOKENIZE_QUERY = 0x0001 40 FTS5_TOKEN_COLOCATED = 0x0001 41 FULLY_WITHIN = 2 42 F_LOCK = 1 43 F_OK = 0 44 F_TEST = 3 45 F_TLOCK = 2 46 F_ULOCK = 0 47 HAVE_USLEEP = 1 48 LITTLE_ENDIAN = 1234 49 L_INCR = 1 50 L_SET = 0 51 L_XTND = 2 52 L_ctermid = 1024 53 L_cuserid = 17 54 L_tmpnam = 1024 55 NAMEWIDTH = 60 56 NDEBUG = 1 57 NOT_WITHIN = 0 58 PARTLY_WITHIN = 1 59 PDP_ENDIAN = 3412 60 P_tmpdir = "/tmp/" 61 RAND_MAX = 0x7fffffff 62 RFCENVG = 2048 63 RFCFDG = 4096 64 RFCNAMEG = 1024 65 RFENVG = 2 66 RFFDG = 4 67 RFFLAGS = 2416930932 68 RFHIGHPID = 262144 69 RFKERNELONLY = 268828672 70 RFLINUXTHPN = 65536 71 RFMEM = 32 72 RFNAMEG = 1 73 RFNOTEG = 8 74 RFNOWAIT = 64 75 RFPPWAIT = 2147483648 76 RFPROC = 16 77 RFPROCDESC = 268435456 78 RFSIGSHARE = 16384 79 RFSPAWN = 2147483648 80 RFSTOPPED = 131072 81 RFTHREAD = 8192 82 RFTSIGMASK = 0xFF 83 RFTSIGSHIFT = 20 84 RFTSIGZMB = 524288 85 R_OK = 0x04 86 SEEK_CUR = 1 87 SEEK_DATA = 3 88 SEEK_END = 2 89 SEEK_HOLE = 4 90 SEEK_SET = 0 91 SQLITE3_H = 0 92 SQLITE3_TEXT = 3 93 SQLITE_ABORT = 4 94 SQLITE_ABORT_ROLLBACK = 516 95 SQLITE_ACCESS_EXISTS = 0 96 SQLITE_ACCESS_READ = 2 97 SQLITE_ACCESS_READWRITE = 1 98 SQLITE_ALTER_TABLE = 26 99 SQLITE_ANALYZE = 28 100 SQLITE_ANY = 5 101 SQLITE_API = 0 102 SQLITE_APICALL = 0 103 SQLITE_ATTACH = 24 104 SQLITE_AUTH = 23 105 SQLITE_AUTH_USER = 279 106 SQLITE_BLOB = 4 107 SQLITE_BUSY = 5 108 SQLITE_BUSY_RECOVERY = 261 109 SQLITE_BUSY_SNAPSHOT = 517 110 SQLITE_BUSY_TIMEOUT = 773 111 SQLITE_CALLBACK = 0 112 SQLITE_CANTOPEN = 14 113 SQLITE_CANTOPEN_CONVPATH = 1038 114 SQLITE_CANTOPEN_DIRTYWAL = 1294 115 SQLITE_CANTOPEN_FULLPATH = 782 116 SQLITE_CANTOPEN_ISDIR = 526 117 SQLITE_CANTOPEN_NOTEMPDIR = 270 118 SQLITE_CANTOPEN_SYMLINK = 1550 119 SQLITE_CDECL = 0 120 SQLITE_CHANGESETAPPLY_INVERT = 0x0002 121 SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 122 SQLITE_CHANGESETSTART_INVERT = 0x0002 123 SQLITE_CHANGESET_ABORT = 2 124 SQLITE_CHANGESET_CONFLICT = 3 125 SQLITE_CHANGESET_CONSTRAINT = 4 126 SQLITE_CHANGESET_DATA = 1 127 SQLITE_CHANGESET_FOREIGN_KEY = 5 128 SQLITE_CHANGESET_NOTFOUND = 2 129 SQLITE_CHANGESET_OMIT = 0 130 SQLITE_CHANGESET_REPLACE = 1 131 SQLITE_CHECKPOINT_FULL = 1 132 SQLITE_CHECKPOINT_PASSIVE = 0 133 SQLITE_CHECKPOINT_RESTART = 2 134 SQLITE_CHECKPOINT_TRUNCATE = 3 135 SQLITE_CONFIG_COVERING_INDEX_SCAN = 20 136 SQLITE_CONFIG_GETMALLOC = 5 137 SQLITE_CONFIG_GETMUTEX = 11 138 SQLITE_CONFIG_GETPCACHE = 15 139 SQLITE_CONFIG_GETPCACHE2 = 19 140 SQLITE_CONFIG_HEAP = 8 141 SQLITE_CONFIG_LOG = 16 142 SQLITE_CONFIG_LOOKASIDE = 13 143 SQLITE_CONFIG_MALLOC = 4 144 SQLITE_CONFIG_MEMDB_MAXSIZE = 29 145 SQLITE_CONFIG_MEMSTATUS = 9 146 SQLITE_CONFIG_MMAP_SIZE = 22 147 SQLITE_CONFIG_MULTITHREAD = 2 148 SQLITE_CONFIG_MUTEX = 10 149 SQLITE_CONFIG_PAGECACHE = 7 150 SQLITE_CONFIG_PCACHE = 14 151 SQLITE_CONFIG_PCACHE2 = 18 152 SQLITE_CONFIG_PCACHE_HDRSZ = 24 153 SQLITE_CONFIG_PMASZ = 25 154 SQLITE_CONFIG_SCRATCH = 6 155 SQLITE_CONFIG_SERIALIZED = 3 156 SQLITE_CONFIG_SINGLETHREAD = 1 157 SQLITE_CONFIG_SMALL_MALLOC = 27 158 SQLITE_CONFIG_SORTERREF_SIZE = 28 159 SQLITE_CONFIG_SQLLOG = 21 160 SQLITE_CONFIG_STMTJRNL_SPILL = 26 161 SQLITE_CONFIG_URI = 17 162 SQLITE_CONFIG_WIN32_HEAPSIZE = 23 163 SQLITE_CONSTRAINT = 19 164 SQLITE_CONSTRAINT_CHECK = 275 165 SQLITE_CONSTRAINT_COMMITHOOK = 531 166 SQLITE_CONSTRAINT_DATATYPE = 3091 167 SQLITE_CONSTRAINT_FOREIGNKEY = 787 168 SQLITE_CONSTRAINT_FUNCTION = 1043 169 SQLITE_CONSTRAINT_NOTNULL = 1299 170 SQLITE_CONSTRAINT_PINNED = 2835 171 SQLITE_CONSTRAINT_PRIMARYKEY = 1555 172 SQLITE_CONSTRAINT_ROWID = 2579 173 SQLITE_CONSTRAINT_TRIGGER = 1811 174 SQLITE_CONSTRAINT_UNIQUE = 2067 175 SQLITE_CONSTRAINT_VTAB = 2323 176 SQLITE_COPY = 0 177 SQLITE_CORE = 1 178 SQLITE_CORRUPT = 11 179 SQLITE_CORRUPT_INDEX = 779 180 SQLITE_CORRUPT_SEQUENCE = 523 181 SQLITE_CORRUPT_VTAB = 267 182 SQLITE_CREATE_INDEX = 1 183 SQLITE_CREATE_TABLE = 2 184 SQLITE_CREATE_TEMP_INDEX = 3 185 SQLITE_CREATE_TEMP_TABLE = 4 186 SQLITE_CREATE_TEMP_TRIGGER = 5 187 SQLITE_CREATE_TEMP_VIEW = 6 188 SQLITE_CREATE_TRIGGER = 7 189 SQLITE_CREATE_VIEW = 8 190 SQLITE_CREATE_VTABLE = 29 191 SQLITE_DBCONFIG_DEFENSIVE = 1010 192 SQLITE_DBCONFIG_DQS_DDL = 1014 193 SQLITE_DBCONFIG_DQS_DML = 1013 194 SQLITE_DBCONFIG_ENABLE_FKEY = 1002 195 SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004 196 SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005 197 SQLITE_DBCONFIG_ENABLE_QPSG = 1007 198 SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 199 SQLITE_DBCONFIG_ENABLE_VIEW = 1015 200 SQLITE_DBCONFIG_LEGACY_ALTER_TABLE = 1012 201 SQLITE_DBCONFIG_LEGACY_FILE_FORMAT = 1016 202 SQLITE_DBCONFIG_LOOKASIDE = 1001 203 SQLITE_DBCONFIG_MAINDBNAME = 1000 204 SQLITE_DBCONFIG_MAX = 1017 205 SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006 206 SQLITE_DBCONFIG_RESET_DATABASE = 1009 207 SQLITE_DBCONFIG_TRIGGER_EQP = 1008 208 SQLITE_DBCONFIG_TRUSTED_SCHEMA = 1017 209 SQLITE_DBCONFIG_WRITABLE_SCHEMA = 1011 210 SQLITE_DBSTATUS_CACHE_HIT = 7 211 SQLITE_DBSTATUS_CACHE_MISS = 8 212 SQLITE_DBSTATUS_CACHE_SPILL = 12 213 SQLITE_DBSTATUS_CACHE_USED = 1 214 SQLITE_DBSTATUS_CACHE_USED_SHARED = 11 215 SQLITE_DBSTATUS_CACHE_WRITE = 9 216 SQLITE_DBSTATUS_DEFERRED_FKS = 10 217 SQLITE_DBSTATUS_LOOKASIDE_HIT = 4 218 SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6 219 SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5 220 SQLITE_DBSTATUS_LOOKASIDE_USED = 0 221 SQLITE_DBSTATUS_MAX = 12 222 SQLITE_DBSTATUS_SCHEMA_USED = 2 223 SQLITE_DBSTATUS_STMT_USED = 3 224 SQLITE_DELETE = 9 225 SQLITE_DENY = 1 226 SQLITE_DEPRECATED = 0 227 SQLITE_DESERIALIZE_FREEONCLOSE = 1 228 SQLITE_DESERIALIZE_READONLY = 4 229 SQLITE_DESERIALIZE_RESIZEABLE = 2 230 SQLITE_DETACH = 25 231 SQLITE_DETERMINISTIC = 0x000000800 232 SQLITE_DIRECTONLY = 0x000080000 233 SQLITE_DONE = 101 234 SQLITE_DROP_INDEX = 10 235 SQLITE_DROP_TABLE = 11 236 SQLITE_DROP_TEMP_INDEX = 12 237 SQLITE_DROP_TEMP_TABLE = 13 238 SQLITE_DROP_TEMP_TRIGGER = 14 239 SQLITE_DROP_TEMP_VIEW = 15 240 SQLITE_DROP_TRIGGER = 16 241 SQLITE_DROP_VIEW = 17 242 SQLITE_DROP_VTABLE = 30 243 SQLITE_EMPTY = 16 244 SQLITE_ENABLE_COLUMN_METADATA = 1 245 SQLITE_ENABLE_FTS5 = 1 246 SQLITE_ENABLE_GEOPOLY = 1 247 SQLITE_ENABLE_MATH_FUNCTIONS = 1 248 SQLITE_ENABLE_MEMORY_MANAGEMENT = 1 249 SQLITE_ENABLE_OFFSET_SQL_FUNC = 1 250 SQLITE_ENABLE_PREUPDATE_HOOK = 1 251 SQLITE_ENABLE_RBU = 1 252 SQLITE_ENABLE_RTREE = 1 253 SQLITE_ENABLE_SESSION = 1 254 SQLITE_ENABLE_SNAPSHOT = 1 255 SQLITE_ENABLE_STAT4 = 1 256 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 257 SQLITE_ERROR = 1 258 SQLITE_ERROR_MISSING_COLLSEQ = 257 259 SQLITE_ERROR_RETRY = 513 260 SQLITE_ERROR_SNAPSHOT = 769 261 SQLITE_EXPERIMENTAL = 0 262 SQLITE_FAIL = 3 263 SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31 264 SQLITE_FCNTL_BUSYHANDLER = 15 265 SQLITE_FCNTL_CHUNK_SIZE = 6 266 SQLITE_FCNTL_CKPT_DONE = 37 267 SQLITE_FCNTL_CKPT_START = 39 268 SQLITE_FCNTL_CKSM_FILE = 41 269 SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32 270 SQLITE_FCNTL_COMMIT_PHASETWO = 22 271 SQLITE_FCNTL_DATA_VERSION = 35 272 SQLITE_FCNTL_EXTERNAL_READER = 40 273 SQLITE_FCNTL_FILE_POINTER = 7 274 SQLITE_FCNTL_GET_LOCKPROXYFILE = 2 275 SQLITE_FCNTL_HAS_MOVED = 20 276 SQLITE_FCNTL_JOURNAL_POINTER = 28 277 SQLITE_FCNTL_LAST_ERRNO = 4 278 SQLITE_FCNTL_LOCKSTATE = 1 279 SQLITE_FCNTL_LOCK_TIMEOUT = 34 280 SQLITE_FCNTL_MMAP_SIZE = 18 281 SQLITE_FCNTL_OVERWRITE = 11 282 SQLITE_FCNTL_PDB = 30 283 SQLITE_FCNTL_PERSIST_WAL = 10 284 SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13 285 SQLITE_FCNTL_PRAGMA = 14 286 SQLITE_FCNTL_RBU = 26 287 SQLITE_FCNTL_RESERVE_BYTES = 38 288 SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33 289 SQLITE_FCNTL_SET_LOCKPROXYFILE = 3 290 SQLITE_FCNTL_SIZE_HINT = 5 291 SQLITE_FCNTL_SIZE_LIMIT = 36 292 SQLITE_FCNTL_SYNC = 21 293 SQLITE_FCNTL_SYNC_OMITTED = 8 294 SQLITE_FCNTL_TEMPFILENAME = 16 295 SQLITE_FCNTL_TRACE = 19 296 SQLITE_FCNTL_VFSNAME = 12 297 SQLITE_FCNTL_VFS_POINTER = 27 298 SQLITE_FCNTL_WAL_BLOCK = 24 299 SQLITE_FCNTL_WIN32_AV_RETRY = 9 300 SQLITE_FCNTL_WIN32_GET_HANDLE = 29 301 SQLITE_FCNTL_WIN32_SET_HANDLE = 23 302 SQLITE_FCNTL_ZIPVFS = 25 303 SQLITE_FLOAT = 2 304 SQLITE_FORMAT = 24 305 SQLITE_FULL = 13 306 SQLITE_FUNCTION = 31 307 SQLITE_GET_LOCKPROXYFILE = 2 308 SQLITE_IGNORE = 2 309 SQLITE_INDEX_CONSTRAINT_EQ = 2 310 SQLITE_INDEX_CONSTRAINT_FUNCTION = 150 311 SQLITE_INDEX_CONSTRAINT_GE = 32 312 SQLITE_INDEX_CONSTRAINT_GLOB = 66 313 SQLITE_INDEX_CONSTRAINT_GT = 4 314 SQLITE_INDEX_CONSTRAINT_IS = 72 315 SQLITE_INDEX_CONSTRAINT_ISNOT = 69 316 SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70 317 SQLITE_INDEX_CONSTRAINT_ISNULL = 71 318 SQLITE_INDEX_CONSTRAINT_LE = 8 319 SQLITE_INDEX_CONSTRAINT_LIKE = 65 320 SQLITE_INDEX_CONSTRAINT_LIMIT = 73 321 SQLITE_INDEX_CONSTRAINT_LT = 16 322 SQLITE_INDEX_CONSTRAINT_MATCH = 64 323 SQLITE_INDEX_CONSTRAINT_NE = 68 324 SQLITE_INDEX_CONSTRAINT_OFFSET = 74 325 SQLITE_INDEX_CONSTRAINT_REGEXP = 67 326 SQLITE_INDEX_SCAN_UNIQUE = 1 327 SQLITE_INNOCUOUS = 0x000200000 328 SQLITE_INSERT = 18 329 SQLITE_INTEGER = 1 330 SQLITE_INTERNAL = 2 331 SQLITE_INTERRUPT = 9 332 SQLITE_IOCAP_ATOMIC = 0x00000001 333 SQLITE_IOCAP_ATOMIC16K = 0x00000040 334 SQLITE_IOCAP_ATOMIC1K = 0x00000004 335 SQLITE_IOCAP_ATOMIC2K = 0x00000008 336 SQLITE_IOCAP_ATOMIC32K = 0x00000080 337 SQLITE_IOCAP_ATOMIC4K = 0x00000010 338 SQLITE_IOCAP_ATOMIC512 = 0x00000002 339 SQLITE_IOCAP_ATOMIC64K = 0x00000100 340 SQLITE_IOCAP_ATOMIC8K = 0x00000020 341 SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000 342 SQLITE_IOCAP_IMMUTABLE = 0x00002000 343 SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000 344 SQLITE_IOCAP_SAFE_APPEND = 0x00000200 345 SQLITE_IOCAP_SEQUENTIAL = 0x00000400 346 SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800 347 SQLITE_IOERR = 10 348 SQLITE_IOERR_ACCESS = 3338 349 SQLITE_IOERR_AUTH = 7178 350 SQLITE_IOERR_BEGIN_ATOMIC = 7434 351 SQLITE_IOERR_BLOCKED = 2826 352 SQLITE_IOERR_CHECKRESERVEDLOCK = 3594 353 SQLITE_IOERR_CLOSE = 4106 354 SQLITE_IOERR_COMMIT_ATOMIC = 7690 355 SQLITE_IOERR_CONVPATH = 6666 356 SQLITE_IOERR_CORRUPTFS = 8458 357 SQLITE_IOERR_DATA = 8202 358 SQLITE_IOERR_DELETE = 2570 359 SQLITE_IOERR_DELETE_NOENT = 5898 360 SQLITE_IOERR_DIR_CLOSE = 4362 361 SQLITE_IOERR_DIR_FSYNC = 1290 362 SQLITE_IOERR_FSTAT = 1802 363 SQLITE_IOERR_FSYNC = 1034 364 SQLITE_IOERR_GETTEMPPATH = 6410 365 SQLITE_IOERR_LOCK = 3850 366 SQLITE_IOERR_MMAP = 6154 367 SQLITE_IOERR_NOMEM = 3082 368 SQLITE_IOERR_RDLOCK = 2314 369 SQLITE_IOERR_READ = 266 370 SQLITE_IOERR_ROLLBACK_ATOMIC = 7946 371 SQLITE_IOERR_SEEK = 5642 372 SQLITE_IOERR_SHMLOCK = 5130 373 SQLITE_IOERR_SHMMAP = 5386 374 SQLITE_IOERR_SHMOPEN = 4618 375 SQLITE_IOERR_SHMSIZE = 4874 376 SQLITE_IOERR_SHORT_READ = 522 377 SQLITE_IOERR_TRUNCATE = 1546 378 SQLITE_IOERR_UNLOCK = 2058 379 SQLITE_IOERR_VNODE = 6922 380 SQLITE_IOERR_WRITE = 778 381 SQLITE_LAST_ERRNO = 4 382 SQLITE_LIKE_DOESNT_MATCH_BLOBS = 1 383 SQLITE_LIMIT_ATTACHED = 7 384 SQLITE_LIMIT_COLUMN = 2 385 SQLITE_LIMIT_COMPOUND_SELECT = 4 386 SQLITE_LIMIT_EXPR_DEPTH = 3 387 SQLITE_LIMIT_FUNCTION_ARG = 6 388 SQLITE_LIMIT_LENGTH = 0 389 SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8 390 SQLITE_LIMIT_SQL_LENGTH = 1 391 SQLITE_LIMIT_TRIGGER_DEPTH = 10 392 SQLITE_LIMIT_VARIABLE_NUMBER = 9 393 SQLITE_LIMIT_VDBE_OP = 5 394 SQLITE_LIMIT_WORKER_THREADS = 11 395 SQLITE_LOCKED = 6 396 SQLITE_LOCKED_SHAREDCACHE = 262 397 SQLITE_LOCKED_VTAB = 518 398 SQLITE_LOCK_EXCLUSIVE = 4 399 SQLITE_LOCK_NONE = 0 400 SQLITE_LOCK_PENDING = 3 401 SQLITE_LOCK_RESERVED = 2 402 SQLITE_LOCK_SHARED = 1 403 SQLITE_MISMATCH = 20 404 SQLITE_MISUSE = 21 405 SQLITE_MUTEX_APPDEF = 1 406 SQLITE_MUTEX_FAST = 0 407 SQLITE_MUTEX_NOOP = 1 408 SQLITE_MUTEX_RECURSIVE = 1 409 SQLITE_MUTEX_STATIC_APP1 = 8 410 SQLITE_MUTEX_STATIC_APP2 = 9 411 SQLITE_MUTEX_STATIC_APP3 = 10 412 SQLITE_MUTEX_STATIC_LRU = 6 413 SQLITE_MUTEX_STATIC_LRU2 = 7 414 SQLITE_MUTEX_STATIC_MAIN = 2 415 SQLITE_MUTEX_STATIC_MASTER = 2 416 SQLITE_MUTEX_STATIC_MEM = 3 417 SQLITE_MUTEX_STATIC_MEM2 = 4 418 SQLITE_MUTEX_STATIC_OPEN = 4 419 SQLITE_MUTEX_STATIC_PMEM = 7 420 SQLITE_MUTEX_STATIC_PRNG = 5 421 SQLITE_MUTEX_STATIC_VFS1 = 11 422 SQLITE_MUTEX_STATIC_VFS2 = 12 423 SQLITE_MUTEX_STATIC_VFS3 = 13 424 SQLITE_NOLFS = 22 425 SQLITE_NOMEM = 7 426 SQLITE_NOTADB = 26 427 SQLITE_NOTFOUND = 12 428 SQLITE_NOTICE = 27 429 SQLITE_NOTICE_RECOVER_ROLLBACK = 539 430 SQLITE_NOTICE_RECOVER_WAL = 283 431 SQLITE_NULL = 5 432 SQLITE_OK = 0 433 SQLITE_OK_LOAD_PERMANENTLY = 256 434 SQLITE_OK_SYMLINK = 512 435 SQLITE_OPEN_AUTOPROXY = 0x00000020 436 SQLITE_OPEN_CREATE = 0x00000004 437 SQLITE_OPEN_DELETEONCLOSE = 0x00000008 438 SQLITE_OPEN_EXCLUSIVE = 0x00000010 439 SQLITE_OPEN_EXRESCODE = 0x02000000 440 SQLITE_OPEN_FULLMUTEX = 0x00010000 441 SQLITE_OPEN_MAIN_DB = 0x00000100 442 SQLITE_OPEN_MAIN_JOURNAL = 0x00000800 443 SQLITE_OPEN_MASTER_JOURNAL = 0x00004000 444 SQLITE_OPEN_MEMORY = 0x00000080 445 SQLITE_OPEN_NOFOLLOW = 0x01000000 446 SQLITE_OPEN_NOMUTEX = 0x00008000 447 SQLITE_OPEN_PRIVATECACHE = 0x00040000 448 SQLITE_OPEN_READONLY = 0x00000001 449 SQLITE_OPEN_READWRITE = 0x00000002 450 SQLITE_OPEN_SHAREDCACHE = 0x00020000 451 SQLITE_OPEN_SUBJOURNAL = 0x00002000 452 SQLITE_OPEN_SUPER_JOURNAL = 0x00004000 453 SQLITE_OPEN_TEMP_DB = 0x00000200 454 SQLITE_OPEN_TEMP_JOURNAL = 0x00001000 455 SQLITE_OPEN_TRANSIENT_DB = 0x00000400 456 SQLITE_OPEN_URI = 0x00000040 457 SQLITE_OPEN_WAL = 0x00080000 458 SQLITE_OS_UNIX = 1 459 SQLITE_PERM = 3 460 SQLITE_PRAGMA = 19 461 SQLITE_PREPARE_NORMALIZE = 0x02 462 SQLITE_PREPARE_NO_VTAB = 0x04 463 SQLITE_PREPARE_PERSISTENT = 0x01 464 SQLITE_PROTOCOL = 15 465 SQLITE_RANGE = 25 466 SQLITE_READ = 20 467 SQLITE_READONLY = 8 468 SQLITE_READONLY_CANTINIT = 1288 469 SQLITE_READONLY_CANTLOCK = 520 470 SQLITE_READONLY_DBMOVED = 1032 471 SQLITE_READONLY_DIRECTORY = 1544 472 SQLITE_READONLY_RECOVERY = 264 473 SQLITE_READONLY_ROLLBACK = 776 474 SQLITE_RECURSIVE = 33 475 SQLITE_REINDEX = 27 476 SQLITE_REPLACE = 5 477 SQLITE_ROLLBACK = 1 478 SQLITE_ROW = 100 479 SQLITE_SAVEPOINT = 32 480 SQLITE_SCANSTAT_EST = 2 481 SQLITE_SCANSTAT_EXPLAIN = 4 482 SQLITE_SCANSTAT_NAME = 3 483 SQLITE_SCANSTAT_NLOOP = 0 484 SQLITE_SCANSTAT_NVISIT = 1 485 SQLITE_SCANSTAT_SELECTID = 5 486 SQLITE_SCHEMA = 17 487 SQLITE_SELECT = 21 488 SQLITE_SERIALIZE_NOCOPY = 0x001 489 SQLITE_SESSION_CONFIG_STRMSIZE = 1 490 SQLITE_SESSION_OBJCONFIG_SIZE = 1 491 SQLITE_SET_LOCKPROXYFILE = 3 492 SQLITE_SHM_EXCLUSIVE = 8 493 SQLITE_SHM_LOCK = 2 494 SQLITE_SHM_NLOCK = 8 495 SQLITE_SHM_SHARED = 4 496 SQLITE_SHM_UNLOCK = 1 497 SQLITE_SOUNDEX = 1 498 SQLITE_SOURCE_ID = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8" 499 SQLITE_STATUS_MALLOC_COUNT = 9 500 SQLITE_STATUS_MALLOC_SIZE = 5 501 SQLITE_STATUS_MEMORY_USED = 0 502 SQLITE_STATUS_PAGECACHE_OVERFLOW = 2 503 SQLITE_STATUS_PAGECACHE_SIZE = 7 504 SQLITE_STATUS_PAGECACHE_USED = 1 505 SQLITE_STATUS_PARSER_STACK = 6 506 SQLITE_STATUS_SCRATCH_OVERFLOW = 4 507 SQLITE_STATUS_SCRATCH_SIZE = 8 508 SQLITE_STATUS_SCRATCH_USED = 3 509 SQLITE_STDCALL = 0 510 SQLITE_STMTSTATUS_AUTOINDEX = 3 511 SQLITE_STMTSTATUS_FILTER_HIT = 8 512 SQLITE_STMTSTATUS_FILTER_MISS = 7 513 SQLITE_STMTSTATUS_FULLSCAN_STEP = 1 514 SQLITE_STMTSTATUS_MEMUSED = 99 515 SQLITE_STMTSTATUS_REPREPARE = 5 516 SQLITE_STMTSTATUS_RUN = 6 517 SQLITE_STMTSTATUS_SORT = 2 518 SQLITE_STMTSTATUS_VM_STEP = 4 519 SQLITE_SUBTYPE = 0x000100000 520 SQLITE_SYNC_DATAONLY = 0x00010 521 SQLITE_SYNC_FULL = 0x00003 522 SQLITE_SYNC_NORMAL = 0x00002 523 SQLITE_SYSAPI = 0 524 SQLITE_TESTCTRL_ALWAYS = 13 525 SQLITE_TESTCTRL_ASSERT = 12 526 SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10 527 SQLITE_TESTCTRL_BITVEC_TEST = 8 528 SQLITE_TESTCTRL_BYTEORDER = 22 529 SQLITE_TESTCTRL_EXPLAIN_STMT = 19 530 SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS = 29 531 SQLITE_TESTCTRL_FAULT_INSTALL = 9 532 SQLITE_TESTCTRL_FIRST = 5 533 SQLITE_TESTCTRL_IMPOSTER = 25 534 SQLITE_TESTCTRL_INTERNAL_FUNCTIONS = 17 535 SQLITE_TESTCTRL_ISINIT = 23 536 SQLITE_TESTCTRL_ISKEYWORD = 16 537 SQLITE_TESTCTRL_LAST = 33 538 SQLITE_TESTCTRL_LOCALTIME_FAULT = 18 539 SQLITE_TESTCTRL_LOGEST = 33 540 SQLITE_TESTCTRL_NEVER_CORRUPT = 20 541 SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19 542 SQLITE_TESTCTRL_OPTIMIZATIONS = 15 543 SQLITE_TESTCTRL_PARSER_COVERAGE = 26 544 SQLITE_TESTCTRL_PENDING_BYTE = 11 545 SQLITE_TESTCTRL_PRNG_RESET = 7 546 SQLITE_TESTCTRL_PRNG_RESTORE = 6 547 SQLITE_TESTCTRL_PRNG_SAVE = 5 548 SQLITE_TESTCTRL_PRNG_SEED = 28 549 SQLITE_TESTCTRL_RESERVE = 14 550 SQLITE_TESTCTRL_RESULT_INTREAL = 27 551 SQLITE_TESTCTRL_SCRATCHMALLOC = 17 552 SQLITE_TESTCTRL_SEEK_COUNT = 30 553 SQLITE_TESTCTRL_SORTER_MMAP = 24 554 SQLITE_TESTCTRL_TRACEFLAGS = 31 555 SQLITE_TESTCTRL_TUNE = 32 556 SQLITE_TESTCTRL_VDBE_COVERAGE = 21 557 SQLITE_TEXT = 3 558 SQLITE_THREADSAFE = 1 559 SQLITE_TOOBIG = 18 560 SQLITE_TRACE_CLOSE = 0x08 561 SQLITE_TRACE_PROFILE = 0x02 562 SQLITE_TRACE_ROW = 0x04 563 SQLITE_TRACE_STMT = 0x01 564 SQLITE_TRANSACTION = 22 565 SQLITE_TXN_NONE = 0 566 SQLITE_TXN_READ = 1 567 SQLITE_TXN_WRITE = 2 568 SQLITE_UPDATE = 23 569 SQLITE_UTF16 = 4 570 SQLITE_UTF16BE = 3 571 SQLITE_UTF16LE = 2 572 SQLITE_UTF16_ALIGNED = 8 573 SQLITE_UTF8 = 1 574 SQLITE_VERSION = "3.39.3" 575 SQLITE_VERSION_NUMBER = 3039003 576 SQLITE_VTAB_CONSTRAINT_SUPPORT = 1 577 SQLITE_VTAB_DIRECTONLY = 3 578 SQLITE_VTAB_INNOCUOUS = 2 579 SQLITE_WARNING = 28 580 SQLITE_WARNING_AUTOINDEX = 284 581 SQLITE_WIN32_DATA_DIRECTORY_TYPE = 1 582 SQLITE_WIN32_TEMP_DIRECTORY_TYPE = 2 583 STDERR_FILENO = 2 584 STDIN_FILENO = 0 585 STDOUT_FILENO = 1 586 SWAPOFF_FORCE = 0x00000001 587 TMP_MAX = 308915776 588 W_OK = 0x02 589 X_OK = 0x01 590 X_ACCMODE_T_DECLARED = 0 591 X_ASSERT_H_ = 0 592 X_BIG_ENDIAN = 4321 593 X_BLKCNT_T_DECLARED = 0 594 X_BLKSIZE_T_DECLARED = 0 595 X_BYTE_ORDER = 1234 596 X_CACHED_RUNES = 256 597 X_CAP_IOCTL_T_DECLARED = 0 598 X_CAP_RIGHTS_T_DECLARED = 0 599 X_CLOCKID_T_DECLARED = 0 600 X_CLOCK_T_DECLARED = 0 601 X_CRMASK = -256 602 X_CS_PATH = 1 603 X_CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2 604 X_CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3 605 X_CS_POSIX_V6_ILP32_OFF32_LIBS = 4 606 X_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5 607 X_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6 608 X_CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7 609 X_CS_POSIX_V6_LP64_OFF64_CFLAGS = 8 610 X_CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9 611 X_CS_POSIX_V6_LP64_OFF64_LIBS = 10 612 X_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11 613 X_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12 614 X_CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13 615 X_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14 616 X_CTYPE_A = 0x00000100 617 X_CTYPE_B = 0x00020000 618 X_CTYPE_C = 0x00000200 619 X_CTYPE_D = 0x00000400 620 X_CTYPE_G = 0x00000800 621 X_CTYPE_H_ = 0 622 X_CTYPE_I = 0x00080000 623 X_CTYPE_L = 0x00001000 624 X_CTYPE_N = 0x00400000 625 X_CTYPE_P = 0x00002000 626 X_CTYPE_Q = 0x00200000 627 X_CTYPE_R = 0x00040000 628 X_CTYPE_S = 0x00004000 629 X_CTYPE_SW0 = 0x20000000 630 X_CTYPE_SW1 = 0x40000000 631 X_CTYPE_SW2 = 0x80000000 632 X_CTYPE_SW3 = 0xc0000000 633 X_CTYPE_SWM = 0xe0000000 634 X_CTYPE_SWS = 30 635 X_CTYPE_T = 0x00100000 636 X_CTYPE_U = 0x00008000 637 X_CTYPE_X = 0x00010000 638 X_DEV_T_DECLARED = 0 639 X_ERRNO_T_DEFINED = 0 640 X_FFLAGS_T_DECLARED = 0 641 X_FILE_OFFSET_BITS = 64 642 X_FSBLKCNT_T_DECLARED = 0 643 X_FSTDIO = 0 644 X_FTRUNCATE_DECLARED = 0 645 X_FTS5_H = 0 646 X_GETOPT_DECLARED = 0 647 X_GID_T_DECLARED = 0 648 X_ID_T_DECLARED = 0 649 X_ILP32 = 1 650 X_INO_T_DECLARED = 0 651 X_INT16_T_DECLARED = 0 652 X_INT32_T_DECLARED = 0 653 X_INT64_T_DECLARED = 0 654 X_INT8_T_DECLARED = 0 655 X_INTMAX_T_DECLARED = 0 656 X_INTPTR_T_DECLARED = 0 657 X_IN_ADDR_T_DECLARED = 0 658 X_IN_PORT_T_DECLARED = 0 659 X_IOFBF = 0 660 X_IOLBF = 1 661 X_IONBF = 2 662 X_KEY_T_DECLARED = 0 663 X_LITTLE_ENDIAN = 1234 664 X_LOCALE_T_DEFINED = 0 665 X_LSEEK_DECLARED = 0 666 X_LWPID_T_DECLARED = 0 667 X_MACHINE_ENDIAN_H_ = 0 668 X_MACHINE_STDARG_H_ = 0 669 X_MACHINE__LIMITS_H_ = 0 670 X_MACHINE__TYPES_H_ = 0 671 X_MKDTEMP_DECLARED = 0 672 X_MKNOD_DECLARED = 0 673 X_MKSTEMP_DECLARED = 0 674 X_MKTEMP_DECLARED = 0 675 X_MMAP_DECLARED = 0 676 X_MODE_T_DECLARED = 0 677 X_MQD_T_DECLARED = 0 678 X_NLINK_T_DECLARED = 0 679 X_Nonnull = 0 680 X_Null_unspecified = 0 681 X_Nullable = 0 682 X_OFF64_T_DECLARED = 0 683 X_OFF_T_DECLARED = 0 684 X_OPTRESET_DECLARED = 0 685 X_PC_ACL_EXTENDED = 59 686 X_PC_ACL_NFS4 = 64 687 X_PC_ACL_PATH_MAX = 60 688 X_PC_ALLOC_SIZE_MIN = 10 689 X_PC_ASYNC_IO = 53 690 X_PC_CAP_PRESENT = 61 691 X_PC_CHOWN_RESTRICTED = 7 692 X_PC_FILESIZEBITS = 12 693 X_PC_INF_PRESENT = 62 694 X_PC_LINK_MAX = 1 695 X_PC_MAC_PRESENT = 63 696 X_PC_MAX_CANON = 2 697 X_PC_MAX_INPUT = 3 698 X_PC_MIN_HOLE_SIZE = 21 699 X_PC_NAME_MAX = 4 700 X_PC_NO_TRUNC = 8 701 X_PC_PATH_MAX = 5 702 X_PC_PIPE_BUF = 6 703 X_PC_PRIO_IO = 54 704 X_PC_REC_INCR_XFER_SIZE = 14 705 X_PC_REC_MAX_XFER_SIZE = 15 706 X_PC_REC_MIN_XFER_SIZE = 16 707 X_PC_REC_XFER_ALIGN = 17 708 X_PC_SYMLINK_MAX = 18 709 X_PC_SYNC_IO = 55 710 X_PC_VDISABLE = 9 711 X_PDP_ENDIAN = 3412 712 X_PID_T_DECLARED = 0 713 X_POSIX2_CHAR_TERM = 1 714 X_POSIX2_C_BIND = 200112 715 X_POSIX2_C_DEV = -1 716 X_POSIX2_FORT_DEV = -1 717 X_POSIX2_FORT_RUN = 200112 718 X_POSIX2_LOCALEDEF = -1 719 X_POSIX2_PBS = -1 720 X_POSIX2_PBS_ACCOUNTING = -1 721 X_POSIX2_PBS_CHECKPOINT = -1 722 X_POSIX2_PBS_LOCATE = -1 723 X_POSIX2_PBS_MESSAGE = -1 724 X_POSIX2_PBS_TRACK = -1 725 X_POSIX2_SW_DEV = -1 726 X_POSIX2_UPE = 200112 727 X_POSIX2_VERSION = 199212 728 X_POSIX_ADVISORY_INFO = 200112 729 X_POSIX_ASYNCHRONOUS_IO = 200112 730 X_POSIX_BARRIERS = 200112 731 X_POSIX_CHOWN_RESTRICTED = 1 732 X_POSIX_CLOCK_SELECTION = -1 733 X_POSIX_CPUTIME = 200112 734 X_POSIX_FSYNC = 200112 735 X_POSIX_IPV6 = 0 736 X_POSIX_JOB_CONTROL = 1 737 X_POSIX_MAPPED_FILES = 200112 738 X_POSIX_MEMLOCK = -1 739 X_POSIX_MEMLOCK_RANGE = 200112 740 X_POSIX_MEMORY_PROTECTION = 200112 741 X_POSIX_MESSAGE_PASSING = 200112 742 X_POSIX_MONOTONIC_CLOCK = 200112 743 X_POSIX_NO_TRUNC = 1 744 X_POSIX_PRIORITIZED_IO = -1 745 X_POSIX_PRIORITY_SCHEDULING = 0 746 X_POSIX_RAW_SOCKETS = 200112 747 X_POSIX_READER_WRITER_LOCKS = 200112 748 X_POSIX_REALTIME_SIGNALS = 200112 749 X_POSIX_REGEXP = 1 750 X_POSIX_SEMAPHORES = 200112 751 X_POSIX_SHARED_MEMORY_OBJECTS = 200112 752 X_POSIX_SHELL = 1 753 X_POSIX_SPAWN = 200112 754 X_POSIX_SPIN_LOCKS = 200112 755 X_POSIX_SPORADIC_SERVER = -1 756 X_POSIX_SYNCHRONIZED_IO = -1 757 X_POSIX_THREADS = 200112 758 X_POSIX_THREAD_ATTR_STACKADDR = 200112 759 X_POSIX_THREAD_ATTR_STACKSIZE = 200112 760 X_POSIX_THREAD_CPUTIME = 200112 761 X_POSIX_THREAD_PRIORITY_SCHEDULING = 200112 762 X_POSIX_THREAD_PRIO_INHERIT = 200112 763 X_POSIX_THREAD_PRIO_PROTECT = 200112 764 X_POSIX_THREAD_PROCESS_SHARED = 200112 765 X_POSIX_THREAD_SAFE_FUNCTIONS = -1 766 X_POSIX_THREAD_SPORADIC_SERVER = -1 767 X_POSIX_TIMEOUTS = 200112 768 X_POSIX_TIMERS = 200112 769 X_POSIX_TRACE = -1 770 X_POSIX_TRACE_EVENT_FILTER = -1 771 X_POSIX_TRACE_INHERIT = -1 772 X_POSIX_TRACE_LOG = -1 773 X_POSIX_TYPED_MEMORY_OBJECTS = -1 774 X_POSIX_VDISABLE = 0xff 775 X_POSIX_VERSION = 200112 776 X_PTHREAD_T_DECLARED = 0 777 X_QUAD_HIGHWORD = 1 778 X_QUAD_LOWWORD = 0 779 X_RLIM_T_DECLARED = 0 780 X_RSIZE_T_DEFINED = 0 781 X_RUNETYPE_H_ = 0 782 X_RUNE_MAGIC_1 = "RuneMagi" 783 X_RUNE_T_DECLARED = 0 784 X_SC_2_CHAR_TERM = 20 785 X_SC_2_C_BIND = 18 786 X_SC_2_C_DEV = 19 787 X_SC_2_FORT_DEV = 21 788 X_SC_2_FORT_RUN = 22 789 X_SC_2_LOCALEDEF = 23 790 X_SC_2_PBS = 59 791 X_SC_2_PBS_ACCOUNTING = 60 792 X_SC_2_PBS_CHECKPOINT = 61 793 X_SC_2_PBS_LOCATE = 62 794 X_SC_2_PBS_MESSAGE = 63 795 X_SC_2_PBS_TRACK = 64 796 X_SC_2_SW_DEV = 24 797 X_SC_2_UPE = 25 798 X_SC_2_VERSION = 17 799 X_SC_ADVISORY_INFO = 65 800 X_SC_AIO_LISTIO_MAX = 42 801 X_SC_AIO_MAX = 43 802 X_SC_AIO_PRIO_DELTA_MAX = 44 803 X_SC_ARG_MAX = 1 804 X_SC_ASYNCHRONOUS_IO = 28 805 X_SC_ATEXIT_MAX = 107 806 X_SC_BARRIERS = 66 807 X_SC_BC_BASE_MAX = 9 808 X_SC_BC_DIM_MAX = 10 809 X_SC_BC_SCALE_MAX = 11 810 X_SC_BC_STRING_MAX = 12 811 X_SC_CHILD_MAX = 2 812 X_SC_CLK_TCK = 3 813 X_SC_CLOCK_SELECTION = 67 814 X_SC_COLL_WEIGHTS_MAX = 13 815 X_SC_CPUSET_SIZE = 122 816 X_SC_CPUTIME = 68 817 X_SC_DELAYTIMER_MAX = 45 818 X_SC_EXPR_NEST_MAX = 14 819 X_SC_FILE_LOCKING = 69 820 X_SC_FSYNC = 38 821 X_SC_GETGR_R_SIZE_MAX = 70 822 X_SC_GETPW_R_SIZE_MAX = 71 823 X_SC_HOST_NAME_MAX = 72 824 X_SC_IOV_MAX = 56 825 X_SC_IPV6 = 118 826 X_SC_JOB_CONTROL = 6 827 X_SC_LINE_MAX = 15 828 X_SC_LOGIN_NAME_MAX = 73 829 X_SC_MAPPED_FILES = 29 830 X_SC_MEMLOCK = 30 831 X_SC_MEMLOCK_RANGE = 31 832 X_SC_MEMORY_PROTECTION = 32 833 X_SC_MESSAGE_PASSING = 33 834 X_SC_MONOTONIC_CLOCK = 74 835 X_SC_MQ_OPEN_MAX = 46 836 X_SC_MQ_PRIO_MAX = 75 837 X_SC_NGROUPS_MAX = 4 838 X_SC_NPROCESSORS_CONF = 57 839 X_SC_NPROCESSORS_ONLN = 58 840 X_SC_OPEN_MAX = 5 841 X_SC_PAGESIZE = 47 842 X_SC_PAGE_SIZE = 47 843 X_SC_PHYS_PAGES = 121 844 X_SC_PRIORITIZED_IO = 34 845 X_SC_PRIORITY_SCHEDULING = 35 846 X_SC_RAW_SOCKETS = 119 847 X_SC_READER_WRITER_LOCKS = 76 848 X_SC_REALTIME_SIGNALS = 36 849 X_SC_REGEXP = 77 850 X_SC_RE_DUP_MAX = 16 851 X_SC_RTSIG_MAX = 48 852 X_SC_SAVED_IDS = 7 853 X_SC_SEMAPHORES = 37 854 X_SC_SEM_NSEMS_MAX = 49 855 X_SC_SEM_VALUE_MAX = 50 856 X_SC_SHARED_MEMORY_OBJECTS = 39 857 X_SC_SHELL = 78 858 X_SC_SIGQUEUE_MAX = 51 859 X_SC_SPAWN = 79 860 X_SC_SPIN_LOCKS = 80 861 X_SC_SPORADIC_SERVER = 81 862 X_SC_STREAM_MAX = 26 863 X_SC_SYMLOOP_MAX = 120 864 X_SC_SYNCHRONIZED_IO = 40 865 X_SC_THREADS = 96 866 X_SC_THREAD_ATTR_STACKADDR = 82 867 X_SC_THREAD_ATTR_STACKSIZE = 83 868 X_SC_THREAD_CPUTIME = 84 869 X_SC_THREAD_DESTRUCTOR_ITERATIONS = 85 870 X_SC_THREAD_KEYS_MAX = 86 871 X_SC_THREAD_PRIORITY_SCHEDULING = 89 872 X_SC_THREAD_PRIO_INHERIT = 87 873 X_SC_THREAD_PRIO_PROTECT = 88 874 X_SC_THREAD_PROCESS_SHARED = 90 875 X_SC_THREAD_SAFE_FUNCTIONS = 91 876 X_SC_THREAD_SPORADIC_SERVER = 92 877 X_SC_THREAD_STACK_MIN = 93 878 X_SC_THREAD_THREADS_MAX = 94 879 X_SC_TIMEOUTS = 95 880 X_SC_TIMERS = 41 881 X_SC_TIMER_MAX = 52 882 X_SC_TRACE = 97 883 X_SC_TRACE_EVENT_FILTER = 98 884 X_SC_TRACE_INHERIT = 99 885 X_SC_TRACE_LOG = 100 886 X_SC_TTY_NAME_MAX = 101 887 X_SC_TYPED_MEMORY_OBJECTS = 102 888 X_SC_TZNAME_MAX = 27 889 X_SC_V6_ILP32_OFF32 = 103 890 X_SC_V6_ILP32_OFFBIG = 104 891 X_SC_V6_LP64_OFF64 = 105 892 X_SC_V6_LPBIG_OFFBIG = 106 893 X_SC_VERSION = 8 894 X_SC_XOPEN_CRYPT = 108 895 X_SC_XOPEN_ENH_I18N = 109 896 X_SC_XOPEN_LEGACY = 110 897 X_SC_XOPEN_REALTIME = 111 898 X_SC_XOPEN_REALTIME_THREADS = 112 899 X_SC_XOPEN_SHM = 113 900 X_SC_XOPEN_STREAMS = 114 901 X_SC_XOPEN_UNIX = 115 902 X_SC_XOPEN_VERSION = 116 903 X_SC_XOPEN_XCU_VERSION = 117 904 X_SELECT_DECLARED = 0 905 X_SIGSET_T_DECLARED = 0 906 X_SIG_MAXSIG = 128 907 X_SIG_WORDS = 4 908 X_SIZE_T_DECLARED = 0 909 X_SQLITE3RTREE_H_ = 0 910 X_SSIZE_T_DECLARED = 0 911 X_STDFILE_DECLARED = 0 912 X_STDIO_H_ = 0 913 X_STDLIB_H_ = 0 914 X_STDSTREAM_DECLARED = 0 915 X_STRINGS_H_ = 0 916 X_STRING_H_ = 0 917 X_SUSECONDS_T_DECLARED = 0 918 X_SWAB_DECLARED = 0 919 X_SYS_CDEFS_H_ = 0 920 X_SYS_SELECT_H_ = 0 921 X_SYS_TIMESPEC_H_ = 0 922 X_SYS_TYPES_H_ = 0 923 X_SYS_UNISTD_H_ = 0 924 X_SYS__ENDIAN_H_ = 0 925 X_SYS__PTHREADTYPES_H_ = 0 926 X_SYS__SIGSET_H_ = 0 927 X_SYS__STDARG_H_ = 0 928 X_SYS__STDINT_H_ = 0 929 X_SYS__TIMESPEC_H_ = 0 930 X_SYS__TIMEVAL_H_ = 0 931 X_SYS__TYPES_H_ = 0 932 X_TIMER_T_DECLARED = 0 933 X_TIME_T_DECLARED = 0 934 X_TRUNCATE_DECLARED = 0 935 X_UID_T_DECLARED = 0 936 X_UINT16_T_DECLARED = 0 937 X_UINT32_T_DECLARED = 0 938 X_UINT64_T_DECLARED = 0 939 X_UINT8_T_DECLARED = 0 940 X_UINTMAX_T_DECLARED = 0 941 X_UINTPTR_T_DECLARED = 0 942 X_UNISTD_H_ = 0 943 X_USECONDS_T_DECLARED = 0 944 X_V6_ILP32_OFF32 = -1 945 X_V6_ILP32_OFFBIG = 0 946 X_V6_LP64_OFF64 = 0 947 X_V6_LPBIG_OFFBIG = -1 948 X_VA_LIST_DECLARED = 0 949 X_WCHAR_T_DECLARED = 0 950 X_XLOCALE_CTYPE_H = 0 951 X_XLOCALE_RUN_FUNCTIONS_DEFINED = 1 952 X_XLOCALE_STRING1_H = 0 953 X_XLOCALE_STRINGS1_H = 0 954 X_XOPEN_CRYPT = -1 955 X_XOPEN_ENH_I18N = -1 956 X_XOPEN_LEGACY = -1 957 X_XOPEN_REALTIME = -1 958 X_XOPEN_REALTIME_THREADS = -1 959 X_XOPEN_SHM = 1 960 X_XOPEN_STREAMS = -1 961 X_XOPEN_UNIX = -1 962 I386 = 1 963 Unix = 1 964 ) 965 966 type ptrdiff_t = int32 967 968 type size_t = uint32 969 970 type wchar_t = int32 971 972 var zHelp = *(*[2263]int8)(unsafe.Pointer(ts)) 973 974 type va_list = uintptr 975 976 type sqlite_int64 = int64 977 type sqlite_uint64 = uint64 978 type sqlite3_int64 = sqlite_int64 979 type sqlite3_uint64 = sqlite_uint64 980 981 type sqlite3_callback = uintptr 982 983 type sqlite3_file1 = struct{ pMethods uintptr } 984 985 type sqlite3_file = sqlite3_file1 986 type sqlite3_io_methods1 = struct { 987 iVersion int32 988 xClose uintptr 989 xRead uintptr 990 xWrite uintptr 991 xTruncate uintptr 992 xSync uintptr 993 xFileSize uintptr 994 xLock uintptr 995 xUnlock uintptr 996 xCheckReservedLock uintptr 997 xFileControl uintptr 998 xSectorSize uintptr 999 xDeviceCharacteristics uintptr 1000 xShmMap uintptr 1001 xShmLock uintptr 1002 xShmBarrier uintptr 1003 xShmUnmap uintptr 1004 xFetch uintptr 1005 xUnfetch uintptr 1006 } 1007 1008 type sqlite3_io_methods = sqlite3_io_methods1 1009 1010 type sqlite3_vfs1 = struct { 1011 iVersion int32 1012 szOsFile int32 1013 mxPathname int32 1014 pNext uintptr 1015 zName uintptr 1016 pAppData uintptr 1017 xOpen uintptr 1018 xDelete uintptr 1019 xAccess uintptr 1020 xFullPathname uintptr 1021 xDlOpen uintptr 1022 xDlError uintptr 1023 xDlSym uintptr 1024 xDlClose uintptr 1025 xRandomness uintptr 1026 xSleep uintptr 1027 xCurrentTime uintptr 1028 xGetLastError uintptr 1029 xCurrentTimeInt64 uintptr 1030 xSetSystemCall uintptr 1031 xGetSystemCall uintptr 1032 xNextSystemCall uintptr 1033 } 1034 1035 type sqlite3_vfs = sqlite3_vfs1 1036 type sqlite3_syscall_ptr = uintptr 1037 1038 type sqlite3_mem_methods1 = struct { 1039 xMalloc uintptr 1040 xFree uintptr 1041 xRealloc uintptr 1042 xSize uintptr 1043 xRoundup uintptr 1044 xInit uintptr 1045 xShutdown uintptr 1046 pAppData uintptr 1047 } 1048 1049 type sqlite3_mem_methods = sqlite3_mem_methods1 1050 1051 type sqlite3_destructor_type = uintptr 1052 1053 type sqlite3_vtab1 = struct { 1054 pModule uintptr 1055 nRef int32 1056 zErrMsg uintptr 1057 } 1058 1059 type sqlite3_vtab = sqlite3_vtab1 1060 type sqlite3_index_info1 = struct { 1061 nConstraint int32 1062 aConstraint uintptr 1063 nOrderBy int32 1064 aOrderBy uintptr 1065 aConstraintUsage uintptr 1066 idxNum int32 1067 idxStr uintptr 1068 needToFreeIdxStr int32 1069 orderByConsumed int32 1070 estimatedCost float64 1071 estimatedRows sqlite3_int64 1072 idxFlags int32 1073 colUsed sqlite3_uint64 1074 } 1075 1076 type sqlite3_index_info = sqlite3_index_info1 1077 type sqlite3_vtab_cursor1 = struct{ pVtab uintptr } 1078 1079 type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 1080 type sqlite3_module1 = struct { 1081 iVersion int32 1082 xCreate uintptr 1083 xConnect uintptr 1084 xBestIndex uintptr 1085 xDisconnect uintptr 1086 xDestroy uintptr 1087 xOpen uintptr 1088 xClose uintptr 1089 xFilter uintptr 1090 xNext uintptr 1091 xEof uintptr 1092 xColumn uintptr 1093 xRowid uintptr 1094 xUpdate uintptr 1095 xBegin uintptr 1096 xSync uintptr 1097 xCommit uintptr 1098 xRollback uintptr 1099 xFindFunction uintptr 1100 xRename uintptr 1101 xSavepoint uintptr 1102 xRelease uintptr 1103 xRollbackTo uintptr 1104 xShadowName uintptr 1105 } 1106 1107 type sqlite3_module = sqlite3_module1 1108 1109 type sqlite3_index_constraint = struct { 1110 iColumn int32 1111 op uint8 1112 usable uint8 1113 _ [2]byte 1114 iTermOffset int32 1115 } 1116 1117 type sqlite3_index_orderby = struct { 1118 iColumn int32 1119 desc uint8 1120 _ [3]byte 1121 } 1122 1123 type sqlite3_index_constraint_usage = struct { 1124 argvIndex int32 1125 omit uint8 1126 _ [3]byte 1127 } 1128 1129 type sqlite3_mutex_methods1 = struct { 1130 xMutexInit uintptr 1131 xMutexEnd uintptr 1132 xMutexAlloc uintptr 1133 xMutexFree uintptr 1134 xMutexEnter uintptr 1135 xMutexTry uintptr 1136 xMutexLeave uintptr 1137 xMutexHeld uintptr 1138 xMutexNotheld uintptr 1139 } 1140 1141 type sqlite3_mutex_methods = sqlite3_mutex_methods1 1142 1143 type sqlite3_pcache_page1 = struct { 1144 pBuf uintptr 1145 pExtra uintptr 1146 } 1147 1148 type sqlite3_pcache_page = sqlite3_pcache_page1 1149 1150 type sqlite3_pcache_methods21 = struct { 1151 iVersion int32 1152 pArg uintptr 1153 xInit uintptr 1154 xShutdown uintptr 1155 xCreate uintptr 1156 xCachesize uintptr 1157 xPagecount uintptr 1158 xFetch uintptr 1159 xUnpin uintptr 1160 xRekey uintptr 1161 xTruncate uintptr 1162 xDestroy uintptr 1163 xShrink uintptr 1164 } 1165 1166 type sqlite3_pcache_methods2 = sqlite3_pcache_methods21 1167 1168 type sqlite3_pcache_methods1 = struct { 1169 pArg uintptr 1170 xInit uintptr 1171 xShutdown uintptr 1172 xCreate uintptr 1173 xCachesize uintptr 1174 xPagecount uintptr 1175 xFetch uintptr 1176 xUnpin uintptr 1177 xRekey uintptr 1178 xTruncate uintptr 1179 xDestroy uintptr 1180 } 1181 1182 type sqlite3_pcache_methods = sqlite3_pcache_methods1 1183 1184 type sqlite3_snapshot1 = struct{ hidden [48]uint8 } 1185 1186 type sqlite3_snapshot = sqlite3_snapshot1 1187 1188 type sqlite3_rtree_geometry1 = struct { 1189 pContext uintptr 1190 nParam int32 1191 aParam uintptr 1192 pUser uintptr 1193 xDelUser uintptr 1194 } 1195 1196 type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 1197 type sqlite3_rtree_query_info1 = struct { 1198 pContext uintptr 1199 nParam int32 1200 aParam uintptr 1201 pUser uintptr 1202 xDelUser uintptr 1203 aCoord uintptr 1204 anQueue uintptr 1205 nCoord int32 1206 iLevel int32 1207 mxLevel int32 1208 iRowid sqlite3_int64 1209 rParentScore sqlite3_rtree_dbl 1210 eParentWithin int32 1211 eWithin int32 1212 rScore sqlite3_rtree_dbl 1213 apSqlParam uintptr 1214 } 1215 1216 type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 1217 1218 type sqlite3_rtree_dbl = float64 1219 1220 type Fts5ExtensionApi1 = struct { 1221 iVersion int32 1222 xUserData uintptr 1223 xColumnCount uintptr 1224 xRowCount uintptr 1225 xColumnTotalSize uintptr 1226 xTokenize uintptr 1227 xPhraseCount uintptr 1228 xPhraseSize uintptr 1229 xInstCount uintptr 1230 xInst uintptr 1231 xRowid uintptr 1232 xColumnText uintptr 1233 xColumnSize uintptr 1234 xQueryPhrase uintptr 1235 xSetAuxdata uintptr 1236 xGetAuxdata uintptr 1237 xPhraseFirst uintptr 1238 xPhraseNext uintptr 1239 xPhraseFirstColumn uintptr 1240 xPhraseNextColumn uintptr 1241 } 1242 1243 type Fts5ExtensionApi = Fts5ExtensionApi1 1244 type Fts5PhraseIter1 = struct { 1245 a uintptr 1246 b uintptr 1247 } 1248 1249 type Fts5PhraseIter = Fts5PhraseIter1 1250 1251 type fts5_extension_function = uintptr 1252 type fts5_tokenizer1 = struct { 1253 xCreate uintptr 1254 xDelete uintptr 1255 xTokenize uintptr 1256 } 1257 1258 type fts5_tokenizer = fts5_tokenizer1 1259 1260 type fts5_api1 = struct { 1261 iVersion int32 1262 xCreateTokenizer uintptr 1263 xFindTokenizer uintptr 1264 xCreateFunction uintptr 1265 } 1266 1267 type fts5_api = fts5_api1 1268 1269 type fpos_t = int64 1270 1271 type rsize_t = size_t 1272 1273 type off_t = int64 1274 type ssize_t = int32 1275 1276 type off64_t = int64 1277 1278 type __sbuf = struct { 1279 _base uintptr 1280 _size int32 1281 } 1282 1283 type __sFILE = struct { 1284 _p uintptr 1285 _r int32 1286 _w int32 1287 _flags int16 1288 _file int16 1289 _bf struct { 1290 _base uintptr 1291 _size int32 1292 } 1293 _lbfsize int32 1294 _cookie uintptr 1295 _close uintptr 1296 _read uintptr 1297 _seek uintptr 1298 _write uintptr 1299 _ub struct { 1300 _base uintptr 1301 _size int32 1302 } 1303 _up uintptr 1304 _ur int32 1305 _ubuf [3]uint8 1306 _nbuf [1]uint8 1307 _lb struct { 1308 _base uintptr 1309 _size int32 1310 } 1311 _blksize int32 1312 _offset fpos_t 1313 _fl_mutex uintptr 1314 _fl_owner uintptr 1315 _fl_count int32 1316 _orientation int32 1317 _mbstate struct { 1318 _ [0]uint32 1319 __mbstate8 [128]int8 1320 } 1321 _flags2 int32 1322 } 1323 1324 type FILE = __sFILE 1325 type cookie_io_functions_t = struct { 1326 read uintptr 1327 write uintptr 1328 seek uintptr 1329 close uintptr 1330 } 1331 1332 type rune_t = int32 1333 1334 type div_t = struct { 1335 quot int32 1336 rem int32 1337 } 1338 1339 type ldiv_t = struct { 1340 quot int32 1341 rem int32 1342 } 1343 1344 type lldiv_t = struct { 1345 quot int64 1346 rem int64 1347 } 1348 1349 type errno_t = int32 1350 1351 type constraint_handler_t = uintptr 1352 1353 type locale_t = uintptr 1354 1355 type _RuneEntry = struct { 1356 __min int32 1357 __max int32 1358 __map int32 1359 __types uintptr 1360 } 1361 1362 type _RuneRange = struct { 1363 __nranges int32 1364 __ranges uintptr 1365 } 1366 1367 type _RuneLocale = struct { 1368 __magic [8]int8 1369 __encoding [32]int8 1370 __sgetrune uintptr 1371 __sputrune uintptr 1372 __invalid_rune int32 1373 __runetype [256]uint32 1374 __maplower [256]int32 1375 __mapupper [256]int32 1376 __runetype_ext _RuneRange 1377 __maplower_ext _RuneRange 1378 __mapupper_ext _RuneRange 1379 __variable uintptr 1380 __variable_len int32 1381 } 1382 1383 func __getCurrentRuneLocale(tls *libc.TLS) uintptr { 1384 if libc.X_ThreadRuneLocale != 0 { 1385 return libc.X_ThreadRuneLocale 1386 } 1387 return libc.X_CurrentRuneLocale 1388 } 1389 1390 func __maskrune(tls *libc.TLS, _c int32, _f uint32) int32 { 1391 return int32(func() uint32 { 1392 if _c < 0 || _c >= int32(1)<<8 { 1393 return libc.X___runetype(tls, _c) 1394 } 1395 return *(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4)) 1396 }() & _f) 1397 } 1398 1399 func __sbmaskrune(tls *libc.TLS, _c int32, _f uint32) int32 { 1400 if _c < 0 || _c >= libc.X__mb_sb_limit { 1401 return 0 1402 } 1403 return int32(*(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4)) & _f) 1404 } 1405 1406 func __sbistype(tls *libc.TLS, _c int32, _f uint32) int32 { 1407 return libc.BoolInt32(!!(__sbmaskrune(tls, _c, _f) != 0)) 1408 } 1409 1410 func __sbmaskrune_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 { 1411 bp := tls.Alloc(4) 1412 defer tls.Free(4) 1413 1414 var runes uintptr = libc.X__runes_for_locale(tls, __loc, bp) 1415 if __c < 0 || __c >= *(*int32)(unsafe.Pointer(bp)) { 1416 return 0 1417 } 1418 return int32(*(*uint32)(unsafe.Pointer(runes + 52 + uintptr(__c)*4)) & __f) 1419 } 1420 1421 func __sbistype_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 { 1422 return libc.BoolInt32(!!(__sbmaskrune_l(tls, __c, __f, __loc) != 0)) 1423 } 1424 1425 type pthread_once = struct { 1426 state int32 1427 mutex pthread_mutex_t 1428 } 1429 1430 type pthread_t = uintptr 1431 type pthread_attr_t = uintptr 1432 type pthread_mutex_t = uintptr 1433 type pthread_mutexattr_t = uintptr 1434 type pthread_cond_t = uintptr 1435 type pthread_condattr_t = uintptr 1436 type pthread_key_t = int32 1437 type pthread_once_t = pthread_once 1438 type pthread_rwlock_t = uintptr 1439 type pthread_rwlockattr_t = uintptr 1440 type pthread_barrier_t = uintptr 1441 type pthread_barrierattr_t = uintptr 1442 type pthread_spinlock_t = uintptr 1443 1444 type pthread_addr_t = uintptr 1445 type pthread_startroutine_t = uintptr 1446 1447 type u_char = uint8 1448 type u_short = uint16 1449 type u_int = uint32 1450 type u_long = uint32 1451 type ushort = uint16 1452 type uint = uint32 1453 1454 type int8_t = int8 1455 1456 type int16_t = int16 1457 1458 type int32_t = int32 1459 1460 type int64_t = int64 1461 1462 type uint8_t = uint8 1463 1464 type uint16_t = uint16 1465 1466 type uint32_t = uint32 1467 1468 type uint64_t = uint64 1469 1470 type intptr_t = int32 1471 type uintptr_t = uint32 1472 type intmax_t = int64 1473 type uintmax_t = uint64 1474 1475 type u_int8_t = uint8 1476 type u_int16_t = uint16 1477 type u_int32_t = uint32 1478 type u_int64_t = uint64 1479 1480 type u_quad_t = uint64 1481 type quad_t = int64 1482 type qaddr_t = uintptr 1483 1484 type caddr_t = uintptr 1485 type c_caddr_t = uintptr 1486 1487 type blksize_t = int32 1488 1489 type cpuwhich_t = int32 1490 type cpulevel_t = int32 1491 type cpusetid_t = int32 1492 1493 type blkcnt_t = int64 1494 1495 type clock_t = uint32 1496 1497 type clockid_t = int32 1498 1499 type critical_t = int32 1500 type daddr_t = int64 1501 1502 type dev_t = uint64 1503 1504 type fflags_t = uint32 1505 1506 type fixpt_t = uint32 1507 1508 type fsblkcnt_t = uint64 1509 type fsfilcnt_t = uint64 1510 1511 type gid_t = uint32 1512 1513 type in_addr_t = uint32 1514 1515 type in_port_t = uint16 1516 1517 type id_t = int64 1518 1519 type ino_t = uint64 1520 1521 type key_t = int32 1522 1523 type lwpid_t = int32 1524 1525 type mode_t = uint16 1526 1527 type accmode_t = int32 1528 1529 type nlink_t = uint64 1530 1531 type pid_t = int32 1532 1533 type register_t = int32 1534 1535 type rlim_t = int64 1536 1537 type sbintime_t = int64 1538 1539 type segsz_t = int32 1540 1541 type suseconds_t = int32 1542 1543 type time_t = int32 1544 1545 type timer_t = uintptr 1546 1547 type mqd_t = uintptr 1548 1549 type u_register_t = uint32 1550 1551 type uid_t = uint32 1552 1553 type useconds_t = uint32 1554 1555 type cap_ioctl_t = uint32 1556 1557 type kpaddr_t = uint64 1558 type kvaddr_t = uint64 1559 type ksize_t = uint64 1560 type kssize_t = int64 1561 1562 type vm_offset_t = uint32 1563 type vm_ooffset_t = uint64 1564 type vm_paddr_t = uint64 1565 type vm_pindex_t = uint64 1566 type vm_size_t = uint32 1567 1568 type rman_res_t = uint64 1569 1570 func __bitcount32(tls *libc.TLS, _x uint32) uint32 { 1571 _x = _x&uint32(0x55555555) + _x&0xaaaaaaaa>>1 1572 _x = _x&uint32(0x33333333) + _x&0xcccccccc>>2 1573 _x = (_x + _x>>4) & uint32(0x0f0f0f0f) 1574 _x = _x + _x>>8 1575 _x = (_x + _x>>16) & uint32(0x000000ff) 1576 return _x 1577 } 1578 1579 type __sigset = struct{ __bits [4]uint32 } 1580 1581 type timeval = struct { 1582 tv_sec time_t 1583 tv_usec suseconds_t 1584 } 1585 1586 type timespec = struct { 1587 tv_sec time_t 1588 tv_nsec int32 1589 } 1590 1591 type itimerspec = struct { 1592 it_interval struct { 1593 tv_sec time_t 1594 tv_nsec int32 1595 } 1596 it_value struct { 1597 tv_sec time_t 1598 tv_nsec int32 1599 } 1600 } 1601 1602 type fd_mask = uint32 1603 1604 type sigset_t = __sigset 1605 1606 type fd_set1 = struct{ __fds_bits [32]uint32 } 1607 1608 type fd_set = fd_set1 1609 1610 type crypt_data = struct { 1611 initialized int32 1612 __buf [256]int8 1613 } 1614 1615 type u64 = sqlite3_uint64 1616 1617 type HashContext1 = struct { 1618 isInit uint8 1619 i uint8 1620 j uint8 1621 s [256]uint8 1622 r [32]uint8 1623 } 1624 1625 type HashContext = HashContext1 1626 1627 type Global = struct { 1628 db uintptr 1629 pStmt uintptr 1630 iStart sqlite3_int64 1631 iTotal sqlite3_int64 1632 bWithoutRowid int32 1633 bReprepare int32 1634 bSqlOnly int32 1635 bExplain int32 1636 bVerify int32 1637 bMemShrink int32 1638 eTemp int32 1639 szTest int32 1640 nRepeat int32 1641 doCheckpoint int32 1642 nReserve int32 1643 zWR uintptr 1644 zNN uintptr 1645 zPK uintptr 1646 x uint32 1647 y uint32 1648 nResByte u64 1649 nResult int32 1650 zResult [3000]int8 1651 hashFile uintptr 1652 hash HashContext 1653 _ [1]byte 1654 } 1655 1656 var g Global 1657 1658 func isTemp(tls *libc.TLS, N int32) uintptr { 1659 if g.eTemp >= N { 1660 return ts + 2263 1661 } 1662 return ts + 2269 1663 } 1664 1665 func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) { 1666 var ap va_list 1667 _ = ap 1668 ap = va 1669 libc.Xvfprintf(tls, libc.X__stderrp, zMsg, ap) 1670 _ = ap 1671 libc.Xexit(tls, 1) 1672 } 1673 1674 func HashInit(tls *libc.TLS) { 1675 var k uint32 1676 g.hash.i = uint8(0) 1677 g.hash.j = uint8(0) 1678 for k = uint32(0); k < uint32(256); k++ { 1679 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(k))) = uint8(k) 1680 } 1681 } 1682 1683 func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) { 1684 var t uint8 1685 var i uint8 = g.hash.i 1686 var j uint8 = g.hash.j 1687 var k uint32 1688 if g.hashFile != 0 { 1689 libc.Xfwrite(tls, aData, uint32(1), nData, g.hashFile) 1690 } 1691 for k = uint32(0); k < nData; k++ { 1692 j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k)))))) 1693 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) 1694 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) 1695 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) = t 1696 i++ 1697 } 1698 g.hash.i = i 1699 g.hash.j = j 1700 } 1701 1702 func HashFinal(tls *libc.TLS) { 1703 var k uint32 1704 var t uint8 1705 var i uint8 1706 var j uint8 1707 i = g.hash.i 1708 j = g.hash.j 1709 for k = uint32(0); k < uint32(32); k++ { 1710 i++ 1711 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) 1712 j = uint8(int32(j) + int32(t)) 1713 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) 1714 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) = t 1715 t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))))) 1716 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(t))) 1717 } 1718 } 1719 1720 func hexDigitValue(tls *libc.TLS, c int8) int32 { 1721 if int32(c) >= '0' && int32(c) <= '9' { 1722 return int32(c) - '0' 1723 } 1724 if int32(c) >= 'a' && int32(c) <= 'f' { 1725 return int32(c) - 'a' + 10 1726 } 1727 if int32(c) >= 'A' && int32(c) <= 'F' { 1728 return int32(c) - 'A' + 10 1729 } 1730 return -1 1731 } 1732 1733 func integerValue(tls *libc.TLS, zArg uintptr) int32 { 1734 var v sqlite3_int64 = int64(0) 1735 var i int32 1736 var isNeg int32 = 0 1737 if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { 1738 isNeg = 1 1739 zArg++ 1740 } else if int32(*(*int8)(unsafe.Pointer(zArg))) == '+' { 1741 zArg++ 1742 } 1743 if int32(*(*int8)(unsafe.Pointer(zArg))) == '0' && int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 'x' { 1744 var x int32 1745 zArg += uintptr(2) 1746 for libc.AssignInt32(&x, hexDigitValue(tls, *(*int8)(unsafe.Pointer(zArg)))) >= 0 { 1747 v = v<<4 + sqlite3_int64(x) 1748 zArg++ 1749 } 1750 } else { 1751 for __sbistype(tls, int32(*(*int8)(unsafe.Pointer(zArg))), uint32(X_CTYPE_D)) != 0 { 1752 v = v*int64(10) + sqlite3_int64(*(*int8)(unsafe.Pointer(zArg))) - int64('0') 1753 zArg++ 1754 } 1755 } 1756 for i = 0; uint32(i) < uint32(unsafe.Sizeof(aMult))/uint32(unsafe.Sizeof(struct { 1757 zSuffix uintptr 1758 iMult int32 1759 }{})); i++ { 1760 if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 { 1761 v = v * sqlite3_int64(aMult[i].iMult) 1762 break 1763 } 1764 } 1765 if v > int64(0x7fffffff) { 1766 fatal_error(tls, ts+2270, 0) 1767 } 1768 return func() int32 { 1769 if isNeg != 0 { 1770 return int32(-v) 1771 } 1772 return int32(v) 1773 }() 1774 } 1775 1776 var aMult = [9]struct { 1777 zSuffix uintptr 1778 iMult int32 1779 }{ 1780 {zSuffix: ts + 2307, iMult: 1024}, 1781 {zSuffix: ts + 2311, iMult: 1024 * 1024}, 1782 {zSuffix: ts + 2315, iMult: 1024 * 1024 * 1024}, 1783 {zSuffix: ts + 2319, iMult: 1000}, 1784 {zSuffix: ts + 2322, iMult: 1000000}, 1785 {zSuffix: ts + 2325, iMult: 1000000000}, 1786 {zSuffix: ts + 2328, iMult: 1000}, 1787 {zSuffix: ts + 2330, iMult: 1000000}, 1788 {zSuffix: ts + 2332, iMult: 1000000000}, 1789 } 1790 1791 func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 { 1792 bp := tls.Alloc(16) 1793 defer tls.Free(16) 1794 1795 if clockVfs == uintptr(0) { 1796 clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) 1797 } 1798 if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) { 1799 (*struct { 1800 f func(*libc.TLS, uintptr, uintptr) int32 1801 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp) 1802 } else { 1803 (*struct { 1804 f func(*libc.TLS, uintptr, uintptr) int32 1805 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8) 1806 *(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0) 1807 } 1808 return *(*sqlite3_int64)(unsafe.Pointer(bp)) 1809 } 1810 1811 var clockVfs uintptr = uintptr(0) 1812 1813 func speedtest1_random(tls *libc.TLS) uint32 { 1814 g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001 1815 g.y = g.y*uint32(1103515245) + uint32(12345) 1816 return g.x ^ g.y 1817 } 1818 1819 func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 { 1820 var out uint32 = uint32(0) 1821 for limit != 0 { 1822 out = out<<1 | in&uint32(1) 1823 in >>= 1 1824 limit >>= 1 1825 } 1826 return out 1827 } 1828 1829 func roundup_allones(tls *libc.TLS, limit uint32) uint32 { 1830 var m uint32 = uint32(1) 1831 for m < limit { 1832 m = m<<1 + uint32(1) 1833 } 1834 return m 1835 } 1836 1837 func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 { 1838 bp := tls.Alloc(24) 1839 defer tls.Free(24) 1840 1841 var i int32 = 0 1842 1843 if n >= uint32(1000000000) { 1844 i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i) 1845 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2334, 0) 1846 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1847 n = n % uint32(1000000000) 1848 } 1849 if n >= uint32(1000000) { 1850 if i != 0 && i < nOut-1 { 1851 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1852 } 1853 i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i) 1854 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2343, 0) 1855 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1856 n = n % uint32(1000000) 1857 } 1858 if n >= uint32(1000) { 1859 if i != 0 && i < nOut-1 { 1860 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1861 } 1862 i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i) 1863 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2352, 0) 1864 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1865 n = n % uint32(1000) 1866 } 1867 if n >= uint32(100) { 1868 if i != 0 && i < nOut-1 { 1869 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1870 } 1871 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2362, libc.VaList(bp, ones[n/uint32(100)])) 1872 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1873 n = n % uint32(100) 1874 } 1875 if n >= uint32(20) { 1876 if i != 0 && i < nOut-1 { 1877 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1878 } 1879 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+8, tens[n/uint32(10)])) 1880 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1881 n = n % uint32(10) 1882 } 1883 if n > uint32(0) { 1884 if i != 0 && i < nOut-1 { 1885 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1886 } 1887 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+16, ones[n])) 1888 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1889 } 1890 if i == 0 { 1891 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2376, 0) 1892 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1893 } 1894 return i 1895 } 1896 1897 var ones = [20]uintptr{ts + 2376, ts + 2381, ts + 2385, ts + 2389, ts + 2395, ts + 2400, 1898 ts + 2405, ts + 2409, ts + 2415, ts + 2421, ts + 2426, ts + 2430, ts + 2437, 1899 ts + 2444, ts + 2453, ts + 2462, ts + 2470, ts + 2478, 1900 ts + 2488, ts + 2497} 1901 var tens = [10]uintptr{ts + 2269, ts + 2426, ts + 2506, ts + 2513, ts + 2520, 1902 ts + 2526, ts + 2532, ts + 2538, ts + 2546, ts + 2553} 1903 1904 var zDots = *(*[72]int8)(unsafe.Pointer(ts + 2560)) 1905 1906 func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) { 1907 bp := tls.Alloc(64) 1908 defer tls.Free(64) 1909 1910 var n int32 = int32(libc.Xstrlen(tls, zTestName)) 1911 var zName uintptr 1912 var ap va_list 1913 _ = ap 1914 ap = va 1915 zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap) 1916 _ = ap 1917 n = int32(libc.Xstrlen(tls, zName)) 1918 if n > NAMEWIDTH { 1919 *(*int8)(unsafe.Pointer(zName + 60)) = int8(0) 1920 n = NAMEWIDTH 1921 } 1922 if g.bSqlOnly != 0 { 1923 libc.Xprintf(tls, ts+2632, libc.VaList(bp, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 1924 } else { 1925 libc.Xprintf(tls, ts+2652, libc.VaList(bp+32, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 1926 libc.Xfflush(tls, libc.X__stdoutp) 1927 } 1928 sqlite3.Xsqlite3_free(tls, zName) 1929 g.nResult = 0 1930 g.iStart = speedtest1_timestamp(tls) 1931 g.x = 0xad131d0b 1932 g.y = uint32(0x44f9eac8) 1933 } 1934 1935 func speedtest1_end_test(tls *libc.TLS) { 1936 bp := tls.Alloc(16) 1937 defer tls.Free(16) 1938 1939 var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart 1940 if g.doCheckpoint != 0 { 1941 speedtest1_exec(tls, ts+2666, 0) 1942 } 1943 if !(g.bSqlOnly != 0) { 1944 *(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 16)) += iElapseTime 1945 libc.Xprintf(tls, ts+2689, libc.VaList(bp, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000)))) 1946 } 1947 if g.pStmt != 0 { 1948 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 1949 g.pStmt = uintptr(0) 1950 } 1951 } 1952 1953 func speedtest1_final(tls *libc.TLS) { 1954 bp := tls.Alloc(48) 1955 defer tls.Free(48) 1956 1957 if !(g.bSqlOnly != 0) { 1958 libc.Xprintf(tls, ts+2700, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)), 1959 int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000)))) 1960 } 1961 if g.bVerify != 0 { 1962 var i int32 1963 libc.Xprintf(tls, ts+2728, libc.VaList(bp+32, g.nResByte)) 1964 HashUpdate(tls, ts+2753, uint32(1)) 1965 HashFinal(tls) 1966 for i = 0; i < 24; i++ { 1967 libc.Xprintf(tls, ts+2755, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 259 + uintptr(i)))))) 1968 } 1969 if g.hashFile != 0 && g.hashFile != libc.X__stdoutp { 1970 libc.Xfclose(tls, g.hashFile) 1971 } 1972 libc.Xprintf(tls, ts+2753, 0) 1973 } 1974 } 1975 1976 func printSql(tls *libc.TLS, zSql uintptr) { 1977 bp := tls.Alloc(32) 1978 defer tls.Free(32) 1979 1980 var n int32 = int32(libc.Xstrlen(tls, zSql)) 1981 for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1))))), uint32(X_CTYPE_S)) != 0) { 1982 n-- 1983 } 1984 if g.bExplain != 0 { 1985 libc.Xprintf(tls, ts+2760, 0) 1986 } 1987 libc.Xprintf(tls, ts+2769, libc.VaList(bp, n, zSql)) 1988 if g.bExplain != 0 && 1989 (sqlite3.Xsqlite3_strglob(tls, ts+2776, zSql) == 0 || 1990 sqlite3.Xsqlite3_strglob(tls, ts+2785, zSql) == 0 || 1991 sqlite3.Xsqlite3_strglob(tls, ts+2792, zSql) == 0) { 1992 libc.Xprintf(tls, ts+2769, libc.VaList(bp+16, n, zSql)) 1993 } 1994 } 1995 1996 func speedtest1_shrink_memory(tls *libc.TLS) { 1997 if g.bMemShrink != 0 { 1998 sqlite3.Xsqlite3_db_release_memory(tls, g.db) 1999 } 2000 } 2001 2002 func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { 2003 bp := tls.Alloc(28) 2004 defer tls.Free(28) 2005 2006 var ap va_list 2007 _ = ap 2008 var zSql uintptr 2009 ap = va 2010 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2011 _ = ap 2012 if g.bSqlOnly != 0 { 2013 printSql(tls, zSql) 2014 } else { 2015 *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) 2016 var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24) 2017 if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 { 2018 fatal_error(tls, ts+2800, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24)), zSql)) 2019 } 2020 if rc != SQLITE_OK { 2021 fatal_error(tls, ts+2818, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2022 } 2023 } 2024 sqlite3.Xsqlite3_free(tls, zSql) 2025 speedtest1_shrink_memory(tls) 2026 } 2027 2028 func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { 2029 bp := tls.Alloc(20) 2030 defer tls.Free(20) 2031 2032 var ap va_list 2033 _ = ap 2034 var zSql uintptr 2035 2036 var zResult uintptr = uintptr(0) 2037 ap = va 2038 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2039 _ = ap 2040 if g.bSqlOnly != 0 { 2041 printSql(tls, zSql) 2042 } else { 2043 var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0)) 2044 if rc != 0 { 2045 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2046 } 2047 if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW { 2048 var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 0) 2049 if z != 0 { 2050 zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2373, libc.VaList(bp+8, z)) 2051 } 2052 } 2053 sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 2054 } 2055 sqlite3.Xsqlite3_free(tls, zSql) 2056 speedtest1_shrink_memory(tls) 2057 return zResult 2058 } 2059 2060 func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) { 2061 bp := tls.Alloc(8) 2062 defer tls.Free(8) 2063 2064 var ap va_list 2065 _ = ap 2066 var zSql uintptr 2067 ap = va 2068 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2069 _ = ap 2070 if g.bSqlOnly != 0 { 2071 printSql(tls, zSql) 2072 } else { 2073 var rc int32 2074 if g.pStmt != 0 { 2075 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 2076 } 2077 rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+4, uintptr(0)) 2078 if rc != 0 { 2079 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2080 } 2081 } 2082 sqlite3.Xsqlite3_free(tls, zSql) 2083 } 2084 2085 func speedtest1_run(tls *libc.TLS) { 2086 bp := tls.Alloc(8) 2087 defer tls.Free(8) 2088 2089 var i int32 2090 var n int32 2091 var len int32 2092 if g.bSqlOnly != 0 { 2093 return 2094 } 2095 2096 g.nResult = 0 2097 for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW { 2098 n = sqlite3.Xsqlite3_column_count(tls, g.pStmt) 2099 for i = 0; i < n; i++ { 2100 var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i) 2101 if z == uintptr(0) { 2102 z = ts + 2849 2103 } 2104 len = int32(libc.Xstrlen(tls, z)) 2105 if g.bVerify != 0 { 2106 var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i) 2107 2108 *(*uint8)(unsafe.Pointer(bp)) = uint8('\n') 2109 *(*uint8)(unsafe.Pointer(bp + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 2853 + uintptr(eType)))) 2110 if g.nResByte != 0 { 2111 HashUpdate(tls, bp, uint32(2)) 2112 } else { 2113 HashUpdate(tls, bp+uintptr(1), uint32(1)) 2114 } 2115 if eType == SQLITE_FLOAT { 2116 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 88)) += uint64(2) 2117 } else if eType == SQLITE_BLOB { 2118 var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i) 2119 var iBlob int32 2120 2121 var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i) 2122 for iBlob = 0; iBlob < nBlob; iBlob++ { 2123 *(*uint8)(unsafe.Pointer(bp + 2)) = uint8(*(*int8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4)))) 2124 *(*uint8)(unsafe.Pointer(bp + 2 + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15)))) 2125 HashUpdate(tls, bp+2, uint32(2)) 2126 } 2127 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 88)) += u64(nBlob*2 + 2) 2128 } else { 2129 HashUpdate(tls, z, uint32(len)) 2130 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 88)) += u64(len + 2) 2131 } 2132 } 2133 if uint32(g.nResult+len) < uint32(unsafe.Sizeof([3000]int8{}))-uint32(2) { 2134 if g.nResult > 0 { 2135 *(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 100 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = int8(' ') 2136 } 2137 libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+100+uintptr(g.nResult), z, uint32(len+1)) 2138 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 96)) += len 2139 } 2140 } 2141 } 2142 if g.bReprepare != 0 { 2143 sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+4, uintptr(0)) 2144 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 2145 g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 4)) 2146 } else { 2147 sqlite3.Xsqlite3_reset(tls, g.pStmt) 2148 } 2149 speedtest1_shrink_memory(tls) 2150 } 2151 2152 func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) { 2153 bp := tls.Alloc(16) 2154 defer tls.Free(16) 2155 2156 var n int32 = int32(libc.Xstrlen(tls, zSql)) 2157 for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1))))), uint32(X_CTYPE_S)) != 0) { 2158 n-- 2159 } 2160 libc.Xfprintf(tls, libc.X__stderrp, ts+2769, libc.VaList(bp, n, zSql)) 2161 } 2162 2163 func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { 2164 sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls))) 2165 } 2166 2167 func est_square_root(tls *libc.TLS, x int32) int32 { 2168 var y0 int32 = x / 2 2169 var y1 int32 2170 var n int32 2171 for n = 0; y0 > 0 && n < 10; n++ { 2172 y1 = (y0 + x/y0) / 2 2173 if y1 == y0 { 2174 break 2175 } 2176 y0 = y1 2177 } 2178 return y0 2179 } 2180 2181 func testset_main(tls *libc.TLS) { 2182 bp := tls.Alloc(2568) 2183 defer tls.Free(2568) 2184 2185 var i int32 2186 var n int32 2187 var sz int32 2188 var maxb int32 2189 var x1 uint32 = uint32(0) 2190 var x2 uint32 = uint32(0) 2191 var len int32 = 0 2192 2193 sz = libc.AssignInt32(&n, g.szTest*500) 2194 *(*int8)(unsafe.Pointer(bp + 568)) = int8(0) 2195 maxb = int32(roundup_allones(tls, uint32(sz))) 2196 speedtest1_begin_test(tls, 100, ts+2877, libc.VaList(bp, n)) 2197 speedtest1_exec(tls, ts+2913, 0) 2198 speedtest1_exec(tls, ts+2919, 2199 libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN)) 2200 speedtest1_prepare(tls, ts+2977, libc.VaList(bp+40, n)) 2201 for i = 1; i <= n; i++ { 2202 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2203 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2204 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 2205 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2206 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2207 speedtest1_run(tls) 2208 } 2209 speedtest1_exec(tls, ts+3023, 0) 2210 speedtest1_end_test(tls) 2211 2212 n = sz 2213 speedtest1_begin_test(tls, 110, ts+3030, libc.VaList(bp+48, n)) 2214 speedtest1_exec(tls, ts+2913, 0) 2215 speedtest1_exec(tls, 2216 ts+3067, 2217 libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2218 speedtest1_prepare(tls, ts+3130, libc.VaList(bp+104, n)) 2219 for i = 1; i <= n; i++ { 2220 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2221 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2222 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i) 2223 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1)) 2224 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2225 speedtest1_run(tls) 2226 } 2227 speedtest1_exec(tls, ts+3023, 0) 2228 speedtest1_end_test(tls) 2229 2230 n = sz 2231 speedtest1_begin_test(tls, 120, ts+3175, libc.VaList(bp+112, n)) 2232 speedtest1_exec(tls, ts+2913, 0) 2233 speedtest1_exec(tls, 2234 ts+3214, 2235 libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2236 speedtest1_prepare(tls, ts+3277, libc.VaList(bp+168, n)) 2237 for i = 1; i <= n; i++ { 2238 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2239 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2240 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2241 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 2242 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2243 speedtest1_run(tls) 2244 } 2245 speedtest1_exec(tls, ts+3023, 0) 2246 speedtest1_end_test(tls) 2247 2248 n = 25 2249 speedtest1_begin_test(tls, 130, ts+3322, libc.VaList(bp+176, n)) 2250 speedtest1_exec(tls, ts+2913, 0) 2251 speedtest1_prepare(tls, 2252 ts+3361, libc.VaList(bp+184, n)) 2253 for i = 1; i <= n; i++ { 2254 if (i-1)%g.nRepeat == 0 { 2255 x1 = speedtest1_random(tls) % uint32(maxb) 2256 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2257 } 2258 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2259 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2260 speedtest1_run(tls) 2261 } 2262 speedtest1_exec(tls, ts+3023, 0) 2263 speedtest1_end_test(tls) 2264 2265 n = 10 2266 speedtest1_begin_test(tls, 140, ts+3466, libc.VaList(bp+192, n)) 2267 speedtest1_exec(tls, ts+2913, 0) 2268 speedtest1_prepare(tls, 2269 ts+3494, libc.VaList(bp+200, n)) 2270 for i = 1; i <= n; i++ { 2271 if (i-1)%g.nRepeat == 0 { 2272 x1 = speedtest1_random(tls) % uint32(maxb) 2273 *(*int8)(unsafe.Pointer(bp + 568)) = int8('%') 2274 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint32(unsafe.Sizeof([2000]int8{}))-uint32(2))) 2275 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%') 2276 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0) 2277 } 2278 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2279 speedtest1_run(tls) 2280 } 2281 speedtest1_exec(tls, ts+3023, 0) 2282 speedtest1_end_test(tls) 2283 2284 n = 10 2285 speedtest1_begin_test(tls, 142, ts+3589, libc.VaList(bp+208, n)) 2286 speedtest1_exec(tls, ts+2913, 0) 2287 speedtest1_prepare(tls, 2288 ts+3622, libc.VaList(bp+216, n)) 2289 for i = 1; i <= n; i++ { 2290 if (i-1)%g.nRepeat == 0 { 2291 x1 = speedtest1_random(tls) % uint32(maxb) 2292 *(*int8)(unsafe.Pointer(bp + 568)) = int8('%') 2293 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint32(unsafe.Sizeof([2000]int8{}))-uint32(2))) 2294 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%') 2295 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0) 2296 } 2297 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2298 speedtest1_run(tls) 2299 } 2300 speedtest1_exec(tls, ts+3023, 0) 2301 speedtest1_end_test(tls) 2302 2303 n = 10 2304 speedtest1_begin_test(tls, 145, ts+3686, libc.VaList(bp+224, n)) 2305 speedtest1_exec(tls, ts+2913, 0) 2306 speedtest1_prepare(tls, 2307 ts+3729, libc.VaList(bp+232, n)) 2308 for i = 1; i <= n; i++ { 2309 if (i-1)%g.nRepeat == 0 { 2310 x1 = speedtest1_random(tls) % uint32(maxb) 2311 *(*int8)(unsafe.Pointer(bp + 568)) = int8('%') 2312 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint32(unsafe.Sizeof([2000]int8{}))-uint32(2))) 2313 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%') 2314 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0) 2315 } 2316 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2317 speedtest1_run(tls) 2318 } 2319 speedtest1_exec(tls, ts+3023, 0) 2320 speedtest1_end_test(tls) 2321 2322 speedtest1_begin_test(tls, 150, ts+3802, 0) 2323 speedtest1_exec(tls, ts+3826, 0) 2324 speedtest1_exec(tls, ts+3833, 0) 2325 speedtest1_exec(tls, ts+3867, 0) 2326 speedtest1_exec(tls, ts+3894, 0) 2327 speedtest1_exec(tls, ts+3928, 0) 2328 speedtest1_exec(tls, ts+3960, 0) 2329 speedtest1_exec(tls, ts+3990, 0) 2330 speedtest1_end_test(tls) 2331 2332 n = sz / 5 2333 speedtest1_begin_test(tls, 160, ts+3998, libc.VaList(bp+240, n)) 2334 speedtest1_exec(tls, ts+2913, 0) 2335 speedtest1_prepare(tls, 2336 ts+4035, libc.VaList(bp+248, n)) 2337 for i = 1; i <= n; i++ { 2338 if (i-1)%g.nRepeat == 0 { 2339 x1 = speedtest1_random(tls) % uint32(maxb) 2340 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2341 } 2342 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2343 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2344 speedtest1_run(tls) 2345 } 2346 speedtest1_exec(tls, ts+3023, 0) 2347 speedtest1_end_test(tls) 2348 2349 n = sz / 5 2350 speedtest1_begin_test(tls, 161, ts+4140, libc.VaList(bp+256, n)) 2351 speedtest1_exec(tls, ts+2913, 0) 2352 speedtest1_prepare(tls, 2353 ts+4172, libc.VaList(bp+264, n)) 2354 for i = 1; i <= n; i++ { 2355 if (i-1)%g.nRepeat == 0 { 2356 x1 = speedtest1_random(tls) % uint32(maxb) 2357 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2358 } 2359 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2360 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2361 speedtest1_run(tls) 2362 } 2363 speedtest1_exec(tls, ts+3023, 0) 2364 speedtest1_end_test(tls) 2365 2366 n = sz / 5 2367 speedtest1_begin_test(tls, 170, ts+4277, libc.VaList(bp+272, n)) 2368 speedtest1_exec(tls, ts+2913, 0) 2369 speedtest1_prepare(tls, 2370 ts+4311, libc.VaList(bp+280, n)) 2371 for i = 1; i <= n; i++ { 2372 if (i-1)%g.nRepeat == 0 { 2373 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2374 len = speedtest1_numbername(tls, x1, bp+568, int32(uint32(unsafe.Sizeof([2000]int8{}))-uint32(1))) 2375 } 2376 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0)) 2377 speedtest1_run(tls) 2378 } 2379 speedtest1_exec(tls, ts+3023, 0) 2380 speedtest1_end_test(tls) 2381 2382 n = sz 2383 speedtest1_begin_test(tls, 180, ts+4423, libc.VaList(bp+288, n)) 2384 speedtest1_exec(tls, ts+2913, 0) 2385 speedtest1_exec(tls, 2386 ts+4453, 2387 libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2388 speedtest1_exec(tls, ts+4524, 0) 2389 speedtest1_exec(tls, ts+4550, 0) 2390 speedtest1_exec(tls, ts+4576, 0) 2391 speedtest1_exec(tls, ts+3023, 0) 2392 speedtest1_end_test(tls) 2393 2394 n = sz 2395 speedtest1_begin_test(tls, 190, ts+4608, libc.VaList(bp+344, n)) 2396 speedtest1_exec(tls, ts+4636, 0) 2397 speedtest1_exec(tls, ts+4652, 0) 2398 speedtest1_end_test(tls) 2399 2400 speedtest1_begin_test(tls, 200, ts+4685, 0) 2401 speedtest1_exec(tls, ts+4685, 0) 2402 speedtest1_end_test(tls) 2403 2404 speedtest1_begin_test(tls, 210, ts+4692, 0) 2405 speedtest1_exec(tls, ts+4726, 0) 2406 speedtest1_exec(tls, ts+4770, 0) 2407 speedtest1_end_test(tls) 2408 2409 n = sz / 5 2410 speedtest1_begin_test(tls, 230, ts+4792, libc.VaList(bp+352, n)) 2411 speedtest1_exec(tls, ts+2913, 0) 2412 speedtest1_prepare(tls, 2413 ts+4829, libc.VaList(bp+360, n)) 2414 for i = 1; i <= n; i++ { 2415 x1 = speedtest1_random(tls) % uint32(maxb) 2416 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2417 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2418 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2419 speedtest1_run(tls) 2420 } 2421 speedtest1_exec(tls, ts+3023, 0) 2422 speedtest1_end_test(tls) 2423 2424 n = sz 2425 speedtest1_begin_test(tls, 240, ts+4888, libc.VaList(bp+368, n)) 2426 speedtest1_exec(tls, ts+2913, 0) 2427 speedtest1_prepare(tls, 2428 ts+4918, libc.VaList(bp+376, n)) 2429 for i = 1; i <= n; i++ { 2430 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2431 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2432 speedtest1_run(tls) 2433 } 2434 speedtest1_exec(tls, ts+3023, 0) 2435 speedtest1_end_test(tls) 2436 2437 speedtest1_begin_test(tls, 250, ts+4962, libc.VaList(bp+384, sz)) 2438 speedtest1_exec(tls, ts+5003, 0) 2439 speedtest1_end_test(tls) 2440 2441 speedtest1_begin_test(tls, 260, ts+5023, 0) 2442 speedtest1_exec(tls, ts+4770, 0) 2443 speedtest1_end_test(tls) 2444 2445 n = sz / 5 2446 speedtest1_begin_test(tls, 270, ts+5056, libc.VaList(bp+392, n)) 2447 speedtest1_exec(tls, ts+2913, 0) 2448 speedtest1_prepare(tls, 2449 ts+5093, libc.VaList(bp+400, n)) 2450 for i = 1; i <= n; i++ { 2451 x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1) 2452 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2453 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2454 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2455 speedtest1_run(tls) 2456 } 2457 speedtest1_exec(tls, ts+3023, 0) 2458 speedtest1_end_test(tls) 2459 2460 n = sz 2461 speedtest1_begin_test(tls, 280, ts+5147, libc.VaList(bp+408, n)) 2462 speedtest1_exec(tls, ts+2913, 0) 2463 speedtest1_prepare(tls, 2464 ts+5177, libc.VaList(bp+416, n)) 2465 for i = 1; i <= n; i++ { 2466 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2467 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2468 speedtest1_run(tls) 2469 } 2470 speedtest1_exec(tls, ts+3023, 0) 2471 speedtest1_end_test(tls) 2472 2473 speedtest1_begin_test(tls, 290, ts+5216, libc.VaList(bp+424, sz)) 2474 speedtest1_exec(tls, ts+5255, 0) 2475 speedtest1_exec(tls, ts+5299, 0) 2476 speedtest1_end_test(tls) 2477 2478 speedtest1_begin_test(tls, 300, ts+5343, libc.VaList(bp+432, sz)) 2479 speedtest1_exec(tls, ts+4636, 0) 2480 speedtest1_exec(tls, 2481 ts+5384, 0) 2482 speedtest1_exec(tls, 2483 ts+5449, 0) 2484 speedtest1_end_test(tls) 2485 2486 n = sz / 5 2487 speedtest1_begin_test(tls, 310, ts+5514, libc.VaList(bp+440, n)) 2488 speedtest1_exec(tls, ts+2913, 0) 2489 speedtest1_prepare(tls, 2490 ts+5533, 0) 2491 for i = 1; i <= n; i++ { 2492 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2493 x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4) 2494 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2495 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2496 speedtest1_run(tls) 2497 } 2498 speedtest1_exec(tls, ts+3023, 0) 2499 speedtest1_end_test(tls) 2500 2501 speedtest1_begin_test(tls, 320, ts+5646, libc.VaList(bp+448, n)) 2502 speedtest1_prepare(tls, 2503 ts+5669, 0) 2504 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50) 2505 speedtest1_run(tls) 2506 speedtest1_end_test(tls) 2507 2508 sz = libc.AssignInt32(&n, g.szTest*700) 2509 *(*int8)(unsafe.Pointer(bp + 568)) = int8(0) 2510 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2511 speedtest1_begin_test(tls, 400, ts+5787, libc.VaList(bp+456, n)) 2512 speedtest1_exec(tls, ts+2913, 0) 2513 speedtest1_exec(tls, ts+5812, 2514 libc.VaList(bp+464, isTemp(tls, 9), g.zNN)) 2515 speedtest1_prepare(tls, ts+5860, libc.VaList(bp+480, n)) 2516 for i = 1; i <= n; i++ { 2517 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2518 speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2519 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2520 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0)) 2521 speedtest1_run(tls) 2522 } 2523 speedtest1_exec(tls, ts+3023, 0) 2524 speedtest1_end_test(tls) 2525 speedtest1_begin_test(tls, 410, ts+5904, libc.VaList(bp+488, n)) 2526 speedtest1_prepare(tls, ts+5925, libc.VaList(bp+496, n)) 2527 for i = 1; i <= n; i++ { 2528 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2529 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2530 speedtest1_run(tls) 2531 } 2532 speedtest1_end_test(tls) 2533 2534 sz = libc.AssignInt32(&n, g.szTest*700) 2535 *(*int8)(unsafe.Pointer(bp + 568)) = int8(0) 2536 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2537 speedtest1_begin_test(tls, 500, ts+5967, libc.VaList(bp+504, n)) 2538 speedtest1_exec(tls, ts+2913, 0) 2539 speedtest1_exec(tls, ts+5989, 2540 libc.VaList(bp+512, isTemp(tls, 9), g.zNN, 2541 func() uintptr { 2542 if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 { 2543 return ts + 6036 2544 } 2545 return ts + 2269 2546 }())) 2547 speedtest1_prepare(tls, ts+6050, libc.VaList(bp+536, n)) 2548 for i = 1; i <= n; i++ { 2549 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2550 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2551 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2552 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2553 speedtest1_run(tls) 2554 } 2555 speedtest1_exec(tls, ts+3023, 0) 2556 speedtest1_end_test(tls) 2557 speedtest1_begin_test(tls, 510, ts+6094, libc.VaList(bp+544, n)) 2558 speedtest1_prepare(tls, ts+6118, libc.VaList(bp+552, n)) 2559 for i = 1; i <= n; i++ { 2560 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2561 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2562 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2563 speedtest1_run(tls) 2564 } 2565 speedtest1_end_test(tls) 2566 speedtest1_begin_test(tls, 520, ts+6160, libc.VaList(bp+560, n)) 2567 speedtest1_exec(tls, ts+6179, 0) 2568 speedtest1_exec(tls, ts+6206, 0) 2569 speedtest1_end_test(tls) 2570 2571 speedtest1_begin_test(tls, 980, ts+6233, 0) 2572 speedtest1_exec(tls, ts+6233, 0) 2573 speedtest1_end_test(tls) 2574 2575 speedtest1_begin_test(tls, 990, ts+6256, 0) 2576 speedtest1_exec(tls, ts+6256, 0) 2577 speedtest1_end_test(tls) 2578 } 2579 2580 func testset_cte(tls *libc.TLS) { 2581 bp := tls.Alloc(32) 2582 defer tls.Free(32) 2583 2584 var zPuz uintptr 2585 var rSpacing float64 2586 var nElem int32 2587 2588 if g.szTest < 25 { 2589 zPuz = azPuzzle[0] 2590 } else if g.szTest < 70 { 2591 zPuz = azPuzzle[1] 2592 } else { 2593 zPuz = azPuzzle[2] 2594 } 2595 speedtest1_begin_test(tls, 100, ts+6264, 0) 2596 speedtest1_prepare(tls, 2597 ts+6295, 0) 2598 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2599 speedtest1_run(tls) 2600 speedtest1_end_test(tls) 2601 2602 speedtest1_begin_test(tls, 200, ts+7099, 0) 2603 speedtest1_prepare(tls, 2604 ts+7127, 0) 2605 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2606 speedtest1_run(tls) 2607 speedtest1_end_test(tls) 2608 2609 rSpacing = 5.0 / float64(g.szTest) 2610 speedtest1_begin_test(tls, 300, ts+7939, libc.VaList(bp, rSpacing)) 2611 speedtest1_prepare(tls, 2612 ts+7970, 0) 2613 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05) 2614 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing) 2615 speedtest1_run(tls) 2616 speedtest1_end_test(tls) 2617 2618 nElem = 10000 * g.szTest 2619 speedtest1_begin_test(tls, 400, ts+8566, libc.VaList(bp+8, nElem)) 2620 speedtest1_prepare(tls, 2621 ts+8603, 2622 libc.VaList(bp+16, nElem, nElem)) 2623 speedtest1_run(tls) 2624 speedtest1_end_test(tls) 2625 } 2626 2627 var azPuzzle = [3]uintptr{ 2628 ts + 8834, 2629 ts + 8916, 2630 ts + 8998, 2631 } 2632 2633 func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) { 2634 bp := tls.Alloc(24) 2635 defer tls.Free(24) 2636 2637 var x int32 = int32(speedtest1_random(tls)) 2638 var y int32 = int32(speedtest1_random(tls)) 2639 var z int32 2640 z = y % 10 2641 if z < 0 { 2642 z = -z 2643 } 2644 y = y / 10 2645 sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9080, libc.VaList(bp, y, z, x%200)) 2646 } 2647 2648 func testset_fp(tls *libc.TLS) { 2649 bp := tls.Alloc(272) 2650 defer tls.Free(272) 2651 2652 var n int32 2653 var i int32 2654 2655 n = g.szTest * 5000 2656 speedtest1_begin_test(tls, 100, ts+9089, libc.VaList(bp, n*2)) 2657 speedtest1_exec(tls, ts+2913, 0) 2658 speedtest1_exec(tls, ts+9120, 2659 libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN)) 2660 speedtest1_prepare(tls, ts+9161, libc.VaList(bp+32, n)) 2661 for i = 1; i <= n; i++ { 2662 speedtest1_random_ascii_fp(tls, bp+72) 2663 speedtest1_random_ascii_fp(tls, bp+172) 2664 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2665 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2666 speedtest1_run(tls) 2667 } 2668 speedtest1_exec(tls, ts+3023, 0) 2669 speedtest1_end_test(tls) 2670 2671 n = g.szTest/25 + 2 2672 speedtest1_begin_test(tls, 110, ts+9203, libc.VaList(bp+40, n)) 2673 speedtest1_prepare(tls, ts+9220, 0) 2674 for i = 1; i <= n; i++ { 2675 speedtest1_random_ascii_fp(tls, bp+72) 2676 speedtest1_random_ascii_fp(tls, bp+172) 2677 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2678 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2679 speedtest1_run(tls) 2680 } 2681 speedtest1_end_test(tls) 2682 2683 speedtest1_begin_test(tls, 120, ts+9268, 0) 2684 speedtest1_exec(tls, ts+3826, 0) 2685 speedtest1_exec(tls, ts+9293, 0) 2686 speedtest1_exec(tls, ts+9320, 0) 2687 speedtest1_exec(tls, ts+9347, 0) 2688 speedtest1_exec(tls, ts+3990, 0) 2689 speedtest1_end_test(tls) 2690 2691 n = g.szTest/3 + 2 2692 speedtest1_begin_test(tls, 130, ts+9377, libc.VaList(bp+48, n)) 2693 speedtest1_prepare(tls, ts+9220, 0) 2694 for i = 1; i <= n; i++ { 2695 speedtest1_random_ascii_fp(tls, bp+72) 2696 speedtest1_random_ascii_fp(tls, bp+172) 2697 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2698 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2699 speedtest1_run(tls) 2700 } 2701 speedtest1_end_test(tls) 2702 2703 n = g.szTest * 5000 2704 speedtest1_begin_test(tls, 140, ts+9402, libc.VaList(bp+56, n)) 2705 speedtest1_exec(tls, ts+9422, 0) 2706 speedtest1_end_test(tls) 2707 2708 speedtest1_begin_test(tls, 150, ts+9465, libc.VaList(bp+64, n*4)) 2709 speedtest1_exec(tls, 2710 ts+9483, 0) 2711 speedtest1_end_test(tls) 2712 } 2713 2714 func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) { 2715 var d uint32 2716 var x0 uint32 2717 var x1 uint32 2718 var span uint32 2719 2720 span = mx/uint32(100) + uint32(1) 2721 if speedtest1_random(tls)%uint32(3) == uint32(0) { 2722 span = span * uint32(p1) 2723 } 2724 if speedtest1_random(tls)%uint32(p2) == uint32(0) { 2725 span = mx / uint32(2) 2726 } 2727 d = speedtest1_random(tls)%span + uint32(1) 2728 x0 = speedtest1_random(tls)%(mx-d) + uint32(1) 2729 x1 = x0 + d 2730 *(*uint32)(unsafe.Pointer(pX0)) = x0 2731 *(*uint32)(unsafe.Pointer(pX1)) = x1 2732 } 2733 2734 func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 { 2735 *(*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))) 2736 return SQLITE_OK 2737 } 2738 2739 func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { 2740 bp := tls.Alloc(224) 2741 defer tls.Free(224) 2742 2743 var i uint32 2744 var n uint32 2745 var mxCoord uint32 2746 2747 var iStep uint32 2748 var mxRowid uint32 2749 var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint32(unsafe.Sizeof(int32(0)))*uint32(g.szTest)*uint32(500))) 2750 2751 mxCoord = uint32(15000) 2752 mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500)) 2753 speedtest1_begin_test(tls, 100, ts+9578, libc.VaList(bp, n)) 2754 speedtest1_exec(tls, ts+2913, 0) 2755 speedtest1_exec(tls, ts+9604, 0) 2756 speedtest1_prepare(tls, 2757 ts+9663, 0) 2758 for i = uint32(1); i <= n; i++ { 2759 twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204) 2760 twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212) 2761 twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220) 2762 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2763 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200)))) 2764 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204)))) 2765 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208)))) 2766 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212)))) 2767 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216)))) 2768 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220)))) 2769 speedtest1_run(tls) 2770 } 2771 speedtest1_exec(tls, ts+3023, 0) 2772 speedtest1_end_test(tls) 2773 2774 speedtest1_begin_test(tls, 101, ts+9729, 0) 2775 speedtest1_exec(tls, ts+9764, 0) 2776 speedtest1_exec(tls, ts+9822, 0) 2777 speedtest1_end_test(tls) 2778 2779 n = uint32(g.szTest * 200) 2780 speedtest1_begin_test(tls, 110, ts+9855, libc.VaList(bp+8, n)) 2781 speedtest1_prepare(tls, ts+9898, 0) 2782 iStep = mxCoord / n 2783 for i = uint32(0); i < n; i++ { 2784 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2785 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2786 speedtest1_run(tls) 2787 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2788 } 2789 speedtest1_end_test(tls) 2790 2791 if g.bVerify != 0 { 2792 n = uint32(g.szTest * 200) 2793 speedtest1_begin_test(tls, 111, ts+9947, 0) 2794 speedtest1_prepare(tls, ts+9994, 0) 2795 iStep = mxCoord / n 2796 for i = uint32(0); i < n; i++ { 2797 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2798 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2799 speedtest1_run(tls) 2800 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) { 2801 fatal_error(tls, ts+10042, 2802 libc.VaList(bp+16, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100))) 2803 } 2804 } 2805 speedtest1_end_test(tls) 2806 } 2807 2808 n = uint32(g.szTest * 200) 2809 speedtest1_begin_test(tls, 120, ts+10084, libc.VaList(bp+56, n)) 2810 speedtest1_prepare(tls, ts+10125, 0) 2811 iStep = mxCoord / n 2812 for i = uint32(0); i < n; i++ { 2813 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2814 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2815 speedtest1_run(tls) 2816 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2817 } 2818 speedtest1_end_test(tls) 2819 2820 if g.bVerify != 0 { 2821 n = uint32(g.szTest * 200) 2822 speedtest1_begin_test(tls, 121, ts+10174, 0) 2823 speedtest1_prepare(tls, ts+10219, 0) 2824 iStep = mxCoord / n 2825 for i = uint32(0); i < n; i++ { 2826 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2827 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2828 speedtest1_run(tls) 2829 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) { 2830 fatal_error(tls, ts+10042, 2831 libc.VaList(bp+64, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100))) 2832 } 2833 } 2834 speedtest1_end_test(tls) 2835 } 2836 2837 n = uint32(g.szTest * 200) 2838 speedtest1_begin_test(tls, 125, ts+10267, libc.VaList(bp+104, n)) 2839 sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10303, *(*uintptr)(unsafe.Pointer(&struct { 2840 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2841 }{xsliceGeometryCallback})), uintptr(0)) 2842 speedtest1_prepare(tls, ts+10310, 0) 2843 iStep = mxCoord / n 2844 for i = uint32(0); i < n; i++ { 2845 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2846 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2847 speedtest1_run(tls) 2848 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) { 2849 fatal_error(tls, ts+10042, 2850 libc.VaList(bp+112, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100))) 2851 } 2852 } 2853 speedtest1_end_test(tls) 2854 2855 n = uint32(g.szTest * 400) 2856 speedtest1_begin_test(tls, 130, ts+10364, libc.VaList(bp+152, n)) 2857 speedtest1_prepare(tls, 2858 ts+10407, 0) 2859 iStep = mxCoord / n 2860 for i = uint32(0); i < n; i++ { 2861 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2862 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2863 speedtest1_run(tls) 2864 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2865 } 2866 speedtest1_end_test(tls) 2867 2868 n = uint32(g.szTest * 500) 2869 speedtest1_begin_test(tls, 140, ts+10500, libc.VaList(bp+160, n)) 2870 speedtest1_prepare(tls, ts+10517, 0) 2871 for i = uint32(1); i <= n; i++ { 2872 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2873 speedtest1_run(tls) 2874 } 2875 speedtest1_end_test(tls) 2876 2877 n = uint32(g.szTest * 50) 2878 speedtest1_begin_test(tls, 150, ts+10547, libc.VaList(bp+168, n)) 2879 speedtest1_prepare(tls, ts+10570, 0) 2880 for i = uint32(1); i <= n; i++ { 2881 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1))) 2882 speedtest1_run(tls) 2883 } 2884 speedtest1_end_test(tls) 2885 2886 n = uint32(g.szTest * 5) 2887 speedtest1_begin_test(tls, 155, ts+10618, libc.VaList(bp+176, n)) 2888 speedtest1_prepare(tls, 2889 ts+10659, 0) 2890 iStep = mxCoord / n 2891 for i = uint32(0); i < n; i++ { 2892 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2893 speedtest1_run(tls) 2894 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2895 } 2896 speedtest1_end_test(tls) 2897 2898 n = uint32(g.szTest * 50) 2899 speedtest1_begin_test(tls, 160, ts+10721, libc.VaList(bp+184, n)) 2900 speedtest1_prepare(tls, ts+10744, 0) 2901 for i = uint32(1); i <= n; i++ { 2902 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1))) 2903 speedtest1_run(tls) 2904 } 2905 speedtest1_end_test(tls) 2906 2907 n = uint32(g.szTest * 5) 2908 speedtest1_begin_test(tls, 165, ts+10772, libc.VaList(bp+192, n)) 2909 speedtest1_prepare(tls, ts+10813, 0) 2910 iStep = mxCoord / n 2911 for i = uint32(0); i < n; i++ { 2912 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2913 speedtest1_run(tls) 2914 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2915 } 2916 speedtest1_end_test(tls) 2917 2918 speedtest1_begin_test(tls, 170, ts+10855, 0) 2919 speedtest1_exec(tls, ts+10902, 0) 2920 speedtest1_end_test(tls) 2921 } 2922 2923 func testset_orm(tls *libc.TLS) { 2924 bp := tls.Alloc(2016) 2925 defer tls.Free(2016) 2926 2927 var i uint32 2928 var j uint32 2929 var n uint32 2930 var nRow uint32 2931 var x1 uint32 2932 var len uint32 2933 2934 nRow = libc.AssignUint32(&n, uint32(g.szTest*250)) 2935 speedtest1_begin_test(tls, 100, ts+10945, libc.VaList(bp, n)) 2936 speedtest1_exec(tls, 2937 ts+10958, 0) 2938 speedtest1_prepare(tls, 2939 ts+14858, 0) 2940 for i = uint32(0); i < n; i++ { 2941 x1 = speedtest1_random(tls) 2942 speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]int8{}))) 2943 len = uint32(int32(libc.Xstrlen(tls, bp+16))) 2944 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf))) 2945 for j = uint32(0); zType[j] != 0; j++ { 2946 switch int32(zType[j]) { 2947 case 'I': 2948 fallthrough 2949 case 'T': 2950 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1)) 2951 break 2952 case 'F': 2953 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1)) 2954 break 2955 case 'V': 2956 fallthrough 2957 case 'B': 2958 sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len), 2959 uintptr(0), uint8(SQLITE_UTF8)) 2960 break 2961 } 2962 } 2963 speedtest1_run(tls) 2964 } 2965 speedtest1_exec(tls, ts+3990, 0) 2966 speedtest1_end_test(tls) 2967 2968 n = uint32(g.szTest * 250) 2969 speedtest1_begin_test(tls, 110, ts+18102, libc.VaList(bp+8, n)) 2970 speedtest1_prepare(tls, 2971 ts+18125, 0) 2972 for i = uint32(0); i < n; i++ { 2973 x1 = speedtest1_random(tls) % nRow 2974 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2975 speedtest1_run(tls) 2976 } 2977 speedtest1_end_test(tls) 2978 } 2979 2980 var zType = *(*[120]int8)(unsafe.Pointer(ts + 20878)) 2981 2982 func testset_trigger(tls *libc.TLS) { 2983 bp := tls.Alloc(2032) 2984 defer tls.Free(2032) 2985 2986 var jj int32 2987 var ii int32 2988 2989 var NROW int32 = 500 * g.szTest 2990 var NROW2 int32 = 100 * g.szTest 2991 2992 speedtest1_exec(tls, 2993 ts+20998, 0) 2994 for jj = 1; jj <= 3; jj++ { 2995 speedtest1_prepare(tls, ts+21326, libc.VaList(bp, jj)) 2996 for ii = 0; ii < NROW; ii++ { 2997 var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW)) 2998 speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 2999 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1) 3000 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3001 speedtest1_run(tls) 3002 } 3003 } 3004 speedtest1_exec(tls, 3005 ts+21361, 0) 3006 3007 speedtest1_begin_test(tls, 100, ts+21444, 0) 3008 speedtest1_prepare(tls, 3009 ts+21458, 0) 3010 speedtest1_run(tls) 3011 speedtest1_end_test(tls) 3012 3013 speedtest1_begin_test(tls, 110, ts+21525, 0) 3014 speedtest1_prepare(tls, 3015 ts+21539, 0) 3016 speedtest1_run(tls) 3017 speedtest1_end_test(tls) 3018 3019 speedtest1_begin_test(tls, 120, ts+21598, 0) 3020 for jj = 1; jj <= 3; jj++ { 3021 speedtest1_prepare(tls, ts+21612, libc.VaList(bp+8, jj)) 3022 for ii = 0; ii < NROW2; ii = ii + 3 { 3023 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3024 speedtest1_run(tls) 3025 } 3026 } 3027 speedtest1_end_test(tls) 3028 3029 speedtest1_begin_test(tls, 130, ts+21646, 0) 3030 for jj = 1; jj <= 3; jj++ { 3031 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+16, jj)) 3032 for ii = 0; ii < NROW2; ii = ii + 3 { 3033 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3034 speedtest1_run(tls) 3035 } 3036 } 3037 speedtest1_end_test(tls) 3038 3039 speedtest1_begin_test(tls, 140, ts+21646, 0) 3040 for jj = 1; jj <= 3; jj++ { 3041 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+24, jj)) 3042 for ii = 0; ii < NROW2; ii = ii + 3 { 3043 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3044 speedtest1_run(tls) 3045 } 3046 } 3047 speedtest1_end_test(tls) 3048 3049 speedtest1_begin_test(tls, 150, ts+21695, 0) 3050 speedtest1_prepare(tls, 3051 ts+21714, 0) 3052 for jj = 0; jj < NROW2; jj++ { 3053 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3) 3054 speedtest1_run(tls) 3055 } 3056 speedtest1_end_test(tls) 3057 3058 speedtest1_begin_test(tls, 160, ts+21829, 0) 3059 speedtest1_exec(tls, ts+2913, 0) 3060 speedtest1_prepare(tls, ts+21850, 0) 3061 for jj = 0; jj < NROW2; jj++ { 3062 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3063 speedtest1_run(tls) 3064 } 3065 speedtest1_exec(tls, ts+3023, 0) 3066 speedtest1_end_test(tls) 3067 3068 speedtest1_exec(tls, ts+21885, 0) 3069 speedtest1_begin_test(tls, 170, ts+21933, 0) 3070 speedtest1_exec(tls, ts+21955, 0) 3071 speedtest1_end_test(tls) 3072 3073 speedtest1_exec(tls, 3074 ts+22000, 0) 3075 3076 speedtest1_begin_test(tls, 180, ts+22490, 0) 3077 speedtest1_prepare(tls, ts+22507, 0) 3078 for jj = 0; jj < NROW2; jj++ { 3079 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 3080 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3081 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3082 speedtest1_run(tls) 3083 } 3084 speedtest1_end_test(tls) 3085 3086 speedtest1_begin_test(tls, 190, ts+22543, 0) 3087 speedtest1_prepare(tls, ts+22560, 0) 3088 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3089 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 3090 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3091 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3092 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 3093 speedtest1_run(tls) 3094 } 3095 speedtest1_end_test(tls) 3096 3097 speedtest1_begin_test(tls, 200, ts+22606, 0) 3098 speedtest1_prepare(tls, ts+22623, 0) 3099 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3100 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3101 speedtest1_run(tls) 3102 } 3103 speedtest1_end_test(tls) 3104 speedtest1_exec(tls, ts+3023, 0) 3105 3106 speedtest1_exec(tls, 3107 ts+22655, 0) 3108 speedtest1_begin_test(tls, 210, ts+22760, 0) 3109 speedtest1_prepare(tls, ts+22507, 0) 3110 for jj = 0; jj < NROW2; jj++ { 3111 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 3112 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3113 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3114 speedtest1_run(tls) 3115 } 3116 speedtest1_end_test(tls) 3117 speedtest1_begin_test(tls, 210, ts+22779, 0) 3118 speedtest1_prepare(tls, ts+22560, 0) 3119 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3120 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 3121 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3122 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3123 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 3124 speedtest1_run(tls) 3125 } 3126 speedtest1_end_test(tls) 3127 speedtest1_begin_test(tls, 220, ts+22798, 0) 3128 speedtest1_prepare(tls, ts+22623, 0) 3129 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3130 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3131 speedtest1_run(tls) 3132 } 3133 speedtest1_end_test(tls) 3134 speedtest1_exec(tls, ts+3023, 0) 3135 } 3136 3137 func testset_debug1(tls *libc.TLS) { 3138 bp := tls.Alloc(2032) 3139 defer tls.Free(2032) 3140 3141 var i uint32 3142 var n uint32 3143 var x1 uint32 3144 var x2 uint32 3145 3146 n = uint32(g.szTest) 3147 for i = uint32(1); i <= n; i++ { 3148 x1 = swizzle(tls, i, n) 3149 x2 = swizzle(tls, x1, n) 3150 speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]int8{}))) 3151 libc.Xprintf(tls, ts+22817, libc.VaList(bp, i, x1, x2, bp+32)) 3152 } 3153 } 3154 3155 func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 { 3156 bp := tls.Alloc(8) 3157 defer tls.Free(8) 3158 3159 libc.Xprintf(tls, ts+22833, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal)))) 3160 return SQLITE_OK 3161 } 3162 3163 func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { 3164 bp := tls.Alloc(576) 3165 defer tls.Free(576) 3166 3167 var doAutovac int32 = 0 3168 var cacheSize int32 = 0 3169 var doExclusive int32 = 0 3170 var nHeap int32 = 0 3171 var mnHeap int32 = 0 3172 var doIncrvac int32 = 0 3173 var zJMode uintptr = uintptr(0) 3174 var zKey uintptr = uintptr(0) 3175 var nLook int32 = -1 3176 var szLook int32 = 0 3177 var noSync int32 = 0 3178 var pageSize int32 = 0 3179 var nPCache int32 = 0 3180 var szPCache int32 = 0 3181 var doPCache int32 = 0 3182 var showStats int32 = 0 3183 var nThread int32 = 0 3184 var mmapSize int32 = 0 3185 var memDb int32 = 0 3186 var zTSet uintptr = ts + 22856 3187 var doTrace int32 = 0 3188 var zEncoding uintptr = uintptr(0) 3189 var zDbName uintptr = uintptr(0) 3190 3191 var pHeap uintptr = uintptr(0) 3192 var pLook uintptr = uintptr(0) 3193 var pPCache uintptr = uintptr(0) 3194 3195 var i int32 3196 var rc int32 3197 3198 libc.Xprintf(tls, ts+22861, 3199 libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls))) 3200 3201 g.zWR = ts + 2269 3202 g.zNN = ts + 2269 3203 g.zPK = ts + 22896 3204 g.szTest = 100 3205 g.nRepeat = 1 3206 for i = 1; i < argc; i++ { 3207 var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)) 3208 if int32(*(*int8)(unsafe.Pointer(z))) == '-' { 3209 for __ccgo := true; __ccgo; __ccgo = int32(*(*int8)(unsafe.Pointer(z))) == '-' { 3210 z++ 3211 } 3212 if libc.Xstrcmp(tls, z, ts+22903) == 0 { 3213 doAutovac = 1 3214 } else if libc.Xstrcmp(tls, z, ts+22914) == 0 { 3215 if i >= argc-1 { 3216 fatal_error(tls, ts+22924, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3217 } 3218 i++ 3219 cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) 3220 } else if libc.Xstrcmp(tls, z, ts+22948) == 0 { 3221 doExclusive = 1 3222 } else if libc.Xstrcmp(tls, z, ts+22958) == 0 { 3223 g.doCheckpoint = 1 3224 } else if libc.Xstrcmp(tls, z, ts+22969) == 0 { 3225 g.bSqlOnly = 1 3226 g.bExplain = 1 3227 } else if libc.Xstrcmp(tls, z, ts+22977) == 0 { 3228 if i >= argc-2 { 3229 fatal_error(tls, ts+22982, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3230 } 3231 nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3232 mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*4))) 3233 i = i + 2 3234 } else if libc.Xstrcmp(tls, z, ts+23007) == 0 { 3235 doIncrvac = 1 3236 } else if libc.Xstrcmp(tls, z, ts+23018) == 0 { 3237 if i >= argc-1 { 3238 fatal_error(tls, ts+22924, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3239 } 3240 zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4)) 3241 } else if libc.Xstrcmp(tls, z, ts+23026) == 0 { 3242 if i >= argc-1 { 3243 fatal_error(tls, ts+22924, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3244 } 3245 zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4)) 3246 } else if libc.Xstrcmp(tls, z, ts+23030) == 0 { 3247 if i >= argc-2 { 3248 fatal_error(tls, ts+22982, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3249 } 3250 nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3251 szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*4))) 3252 i = i + 2 3253 } else if libc.Xstrcmp(tls, z, ts+23040) == 0 { 3254 memDb = 1 3255 } else if libc.Xstrcmp(tls, z, ts+23046) == 0 { 3256 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0) 3257 } else if libc.Xstrcmp(tls, z, ts+23058) == 0 { 3258 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0)) 3259 } else if libc.Xstrcmp(tls, z, ts+23068) == 0 { 3260 if i >= argc-1 { 3261 fatal_error(tls, ts+22924, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3262 } 3263 mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3264 } else if libc.Xstrcmp(tls, z, ts+23073) == 0 { 3265 noSync = 1 3266 } else if libc.Xstrcmp(tls, z, ts+23080) == 0 { 3267 g.zNN = ts + 23088 3268 } else if libc.Xstrcmp(tls, z, ts+23097) == 0 { 3269 if i >= argc-1 { 3270 fatal_error(tls, ts+22924, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3271 } 3272 i++ 3273 if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ts+23104) == 0 { 3274 g.hashFile = libc.X__stdoutp 3275 } else { 3276 g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ts+23106) 3277 if g.hashFile == uintptr(0) { 3278 fatal_error(tls, ts+23109, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3279 } 3280 } 3281 } else if libc.Xstrcmp(tls, z, ts+23139) == 0 { 3282 if i >= argc-1 { 3283 fatal_error(tls, ts+22924, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3284 } 3285 pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3286 } else if libc.Xstrcmp(tls, z, ts+23148) == 0 { 3287 if i >= argc-2 { 3288 fatal_error(tls, ts+22982, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3289 } 3290 nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3291 szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*4))) 3292 doPCache = 1 3293 i = i + 2 3294 } else if libc.Xstrcmp(tls, z, ts+23155) == 0 { 3295 g.zPK = ts + 23166 3296 } else if libc.Xstrcmp(tls, z, ts+23178) == 0 { 3297 if i >= argc-1 { 3298 fatal_error(tls, ts+22982, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3299 } 3300 g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3301 i = i + 1 3302 } else if libc.Xstrcmp(tls, z, ts+23185) == 0 { 3303 g.bReprepare = 1 3304 } else if libc.Xstrcmp(tls, z, ts+23195) == 0 { 3305 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0) 3306 } else if libc.Xstrcmp(tls, z, ts+23206) == 0 { 3307 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0) 3308 } else if libc.Xstrcmp(tls, z, ts+23219) == 0 { 3309 g.bSqlOnly = 1 3310 } else if libc.Xstrcmp(tls, z, ts+23227) == 0 { 3311 g.bMemShrink = 1 3312 } else if libc.Xstrcmp(tls, z, ts+23241) == 0 { 3313 if i >= argc-1 { 3314 fatal_error(tls, ts+22924, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3315 } 3316 g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3317 } else if libc.Xstrcmp(tls, z, ts+23246) == 0 { 3318 showStats = 1 3319 } else if libc.Xstrcmp(tls, z, ts+23252) == 0 { 3320 if i >= argc-1 { 3321 fatal_error(tls, ts+22924, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3322 } 3323 i++ 3324 if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))) < '0' || int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))) > '9' || int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)) + 1))) != 0 { 3325 fatal_error(tls, ts+23257, 0) 3326 } 3327 g.eTemp = int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))) - '0' 3328 } else if libc.Xstrcmp(tls, z, ts+23310) == 0 { 3329 if i >= argc-1 { 3330 fatal_error(tls, ts+22924, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3331 } 3332 zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4)) 3333 } else if libc.Xstrcmp(tls, z, ts+23318) == 0 { 3334 doTrace = 1 3335 } else if libc.Xstrcmp(tls, z, ts+23324) == 0 { 3336 if i >= argc-1 { 3337 fatal_error(tls, ts+22924, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3338 } 3339 nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3340 } else if libc.Xstrcmp(tls, z, ts+23332) == 0 { 3341 zEncoding = ts + 23332 3342 } else if libc.Xstrcmp(tls, z, ts+23340) == 0 { 3343 zEncoding = ts + 23340 3344 } else if libc.Xstrcmp(tls, z, ts+23348) == 0 { 3345 g.bVerify = 1 3346 HashInit(tls) 3347 } else if libc.Xstrcmp(tls, z, ts+23355) == 0 { 3348 if i >= argc-1 { 3349 fatal_error(tls, ts+22924, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3350 } 3351 g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3352 } else if libc.Xstrcmp(tls, z, ts+23363) == 0 { 3353 if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) { 3354 } else if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) { 3355 g.zWR = ts + 23392 3356 } else { 3357 g.zWR = ts + 6036 3358 } 3359 g.zPK = ts + 23166 3360 } else if libc.Xstrcmp(tls, z, ts+23413) == 0 { 3361 if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) { 3362 } else if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) { 3363 g.zWR = ts + 23392 3364 } else { 3365 g.zWR = ts + 23385 3366 } 3367 } else if libc.Xstrcmp(tls, z, ts+23420) == 0 || libc.Xstrcmp(tls, z, ts+23425) == 0 { 3368 libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv)))) 3369 libc.Xexit(tls, 0) 3370 } else { 3371 fatal_error(tls, ts+23427, 3372 libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer(argv)))) 3373 } 3374 } else if zDbName == uintptr(0) { 3375 zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)) 3376 } else { 3377 fatal_error(tls, ts+23468, 3378 libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer(argv)))) 3379 } 3380 } 3381 if zDbName != uintptr(0) { 3382 libc.Xunlink(tls, zDbName) 3383 } 3384 if nHeap > 0 { 3385 pHeap = libc.Xmalloc(tls, uint32(nHeap)) 3386 if pHeap == uintptr(0) { 3387 fatal_error(tls, ts+23511, libc.VaList(bp+192, nHeap)) 3388 } 3389 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap)) 3390 if rc != 0 { 3391 fatal_error(tls, ts+23541, libc.VaList(bp+224, rc)) 3392 } 3393 } 3394 if doPCache != 0 { 3395 if nPCache > 0 && szPCache > 0 { 3396 pPCache = libc.Xmalloc(tls, uint32(sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3397 if pPCache == uintptr(0) { 3398 fatal_error(tls, ts+23572, 3399 libc.VaList(bp+232, sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3400 } 3401 } 3402 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache)) 3403 if rc != 0 { 3404 fatal_error(tls, ts+23606, libc.VaList(bp+264, rc)) 3405 } 3406 } 3407 if nLook >= 0 { 3408 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0)) 3409 } 3410 sqlite3.Xsqlite3_initialize(tls) 3411 3412 if sqlite3.Xsqlite3_open(tls, func() uintptr { 3413 if memDb != 0 { 3414 return ts + 23639 3415 } 3416 return zDbName 3417 }(), uintptr(unsafe.Pointer(&g))) != 0 { 3418 fatal_error(tls, ts+23648, libc.VaList(bp+288, zDbName)) 3419 } 3420 if nLook > 0 && szLook > 0 { 3421 pLook = libc.Xmalloc(tls, uint32(nLook*szLook)) 3422 rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook)) 3423 if rc != 0 { 3424 fatal_error(tls, ts+23679, libc.VaList(bp+320, rc)) 3425 } 3426 } 3427 if g.nReserve > 0 { 3428 sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+64) 3429 } 3430 3431 sqlite3.Xsqlite3_create_function(tls, g.db, ts+23715, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { 3432 f func(*libc.TLS, uintptr, int32, uintptr) 3433 }{randomFunc})), uintptr(0), uintptr(0)) 3434 if doTrace != 0 { 3435 sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3436 f func(*libc.TLS, uintptr, uintptr) 3437 }{traceCallback})), uintptr(0)) 3438 } 3439 if memDb > 0 { 3440 speedtest1_exec(tls, ts+23722, 0) 3441 } 3442 if mmapSize > 0 { 3443 speedtest1_exec(tls, ts+23747, libc.VaList(bp+328, mmapSize)) 3444 } 3445 speedtest1_exec(tls, ts+23767, libc.VaList(bp+336, nThread)) 3446 if zKey != 0 { 3447 speedtest1_exec(tls, ts+23785, libc.VaList(bp+344, zKey)) 3448 } 3449 if zEncoding != 0 { 3450 speedtest1_exec(tls, ts+23802, libc.VaList(bp+352, zEncoding)) 3451 } 3452 if doAutovac != 0 { 3453 speedtest1_exec(tls, ts+23821, 0) 3454 } else if doIncrvac != 0 { 3455 speedtest1_exec(tls, ts+23845, 0) 3456 } 3457 if pageSize != 0 { 3458 speedtest1_exec(tls, ts+23876, libc.VaList(bp+360, pageSize)) 3459 } 3460 if cacheSize != 0 { 3461 speedtest1_exec(tls, ts+23896, libc.VaList(bp+368, cacheSize)) 3462 } 3463 if noSync != 0 { 3464 speedtest1_exec(tls, ts+23917, 0) 3465 } 3466 if doExclusive != 0 { 3467 speedtest1_exec(tls, ts+23940, 0) 3468 } 3469 if zJMode != 0 { 3470 speedtest1_exec(tls, ts+23970, libc.VaList(bp+376, zJMode)) 3471 } 3472 3473 if g.bExplain != 0 { 3474 libc.Xprintf(tls, ts+23993, 0) 3475 } 3476 for __ccgo1 := true; __ccgo1; __ccgo1 = *(*int8)(unsafe.Pointer(zTSet)) != 0 { 3477 var zThisTest uintptr = zTSet 3478 var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',') 3479 if zComma != 0 { 3480 *(*int8)(unsafe.Pointer(zComma)) = int8(0) 3481 zTSet = zComma + uintptr(1) 3482 } else { 3483 zTSet = ts + 2269 3484 } 3485 if g.iTotal > int64(0) || zComma != uintptr(0) { 3486 libc.Xprintf(tls, ts+24012, libc.VaList(bp+384, zThisTest)) 3487 } 3488 if libc.Xstrcmp(tls, zThisTest, ts+22856) == 0 { 3489 testset_main(tls) 3490 } else if libc.Xstrcmp(tls, zThisTest, ts+24039) == 0 { 3491 testset_debug1(tls) 3492 } else if libc.Xstrcmp(tls, zThisTest, ts+24046) == 0 { 3493 testset_orm(tls) 3494 } else if libc.Xstrcmp(tls, zThisTest, ts+24050) == 0 { 3495 testset_cte(tls) 3496 } else if libc.Xstrcmp(tls, zThisTest, ts+24054) == 0 { 3497 testset_fp(tls) 3498 } else if libc.Xstrcmp(tls, zThisTest, ts+24057) == 0 { 3499 testset_trigger(tls) 3500 } else if libc.Xstrcmp(tls, zThisTest, ts+24065) == 0 { 3501 testset_rtree(tls, 6, 147) 3502 } else { 3503 fatal_error(tls, 3504 ts+24071, 3505 libc.VaList(bp+392, zThisTest)) 3506 } 3507 if *(*int8)(unsafe.Pointer(zTSet)) != 0 { 3508 var zSql uintptr 3509 var zObj uintptr 3510 speedtest1_begin_test(tls, 999, ts+24140, 0) 3511 for 1 != 0 { 3512 zObj = speedtest1_once(tls, 3513 ts+24159, 0) 3514 if zObj == uintptr(0) { 3515 break 3516 } 3517 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+400, zObj)) 3518 speedtest1_exec(tls, zSql, 0) 3519 sqlite3.Xsqlite3_free(tls, zSql) 3520 sqlite3.Xsqlite3_free(tls, zObj) 3521 } 3522 for 1 != 0 { 3523 zObj = speedtest1_once(tls, 3524 ts+24250, 0) 3525 if zObj == uintptr(0) { 3526 break 3527 } 3528 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+408, zObj)) 3529 speedtest1_exec(tls, zSql, 0) 3530 sqlite3.Xsqlite3_free(tls, zSql) 3531 sqlite3.Xsqlite3_free(tls, zObj) 3532 } 3533 speedtest1_end_test(tls) 3534 } 3535 } 3536 speedtest1_final(tls) 3537 3538 if showStats != 0 { 3539 sqlite3.Xsqlite3_exec(tls, g.db, ts+24320, *(*uintptr)(unsafe.Pointer(&struct { 3540 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 3541 }{xCompileOptions})), uintptr(0), uintptr(0)) 3542 } 3543 3544 if showStats != 0 { 3545 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568, bp+572, 0) 3546 libc.Xprintf(tls, ts+24343, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3547 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568, bp+572, 0) 3548 libc.Xprintf(tls, ts+24388, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572)))) 3549 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568, bp+572, 0) 3550 libc.Xprintf(tls, ts+24424, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572)))) 3551 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568, bp+572, 0) 3552 libc.Xprintf(tls, ts+24460, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572)))) 3553 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568, bp+572, 0) 3554 libc.Xprintf(tls, ts+24496, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568)))) 3555 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568, bp+572, 1) 3556 libc.Xprintf(tls, ts+24538, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568)))) 3557 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568, bp+572, 1) 3558 libc.Xprintf(tls, ts+24574, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568)))) 3559 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568, bp+572, 1) 3560 libc.Xprintf(tls, ts+24610, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568)))) 3561 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568, bp+572, 0) 3562 libc.Xprintf(tls, ts+24646, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568)))) 3563 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568, bp+572, 0) 3564 libc.Xprintf(tls, ts+24688, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568)))) 3565 } 3566 3567 sqlite3.Xsqlite3_close(tls, g.db) 3568 3569 if showStats != 0 { 3570 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568, bp+572, 0) 3571 libc.Xprintf(tls, ts+24730, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3572 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568, bp+572, 0) 3573 libc.Xprintf(tls, ts+24775, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3574 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568, bp+572, 0) 3575 libc.Xprintf(tls, ts+24820, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3576 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568, bp+572, 0) 3577 libc.Xprintf(tls, ts+24865, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572)))) 3578 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568, bp+572, 0) 3579 libc.Xprintf(tls, ts+24907, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572)))) 3580 } 3581 3582 libc.Xfree(tls, pLook) 3583 libc.Xfree(tls, pPCache) 3584 libc.Xfree(tls, pHeap) 3585 return 0 3586 } 3587 3588 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" 3589 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data