gitlab.com/CoiaPrant/sqlite3@v1.19.1/speedtest1/main_freebsd_arm.go (about) 1 // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_freebsd_arm.go -trace-translation-units testdata/sqlite-src-3390300/test/speedtest1.c -Itestdata/sqlite-amalgamation-3390300 -l gitlab.com/CoiaPrant/sqlite3/lib -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. 2 3 package main 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 "gitlab.com/CoiaPrant/sqlite3/lib" 14 ) 15 16 var _ = math.Pi 17 var _ reflect.Kind 18 var _ atomic.Value 19 var _ unsafe.Pointer 20 var _ *libc.TLS 21 var _ types.Size_t 22 23 func main() { libc.Start(main1) } 24 25 const ( 26 BIG_ENDIAN = 4321 27 BUFSIZ = 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__TYPES_H_ = 0 670 X_MKDTEMP_DECLARED = 0 671 X_MKNOD_DECLARED = 0 672 X_MKSTEMP_DECLARED = 0 673 X_MKTEMP_DECLARED = 0 674 X_MMAP_DECLARED = 0 675 X_MODE_T_DECLARED = 0 676 X_MQD_T_DECLARED = 0 677 X_NLINK_T_DECLARED = 0 678 X_Nonnull = 0 679 X_Null_unspecified = 0 680 X_Nullable = 0 681 X_OFF64_T_DECLARED = 0 682 X_OFF_T_DECLARED = 0 683 X_OPTRESET_DECLARED = 0 684 X_PC_ACL_EXTENDED = 59 685 X_PC_ACL_NFS4 = 64 686 X_PC_ACL_PATH_MAX = 60 687 X_PC_ALLOC_SIZE_MIN = 10 688 X_PC_ASYNC_IO = 53 689 X_PC_CAP_PRESENT = 61 690 X_PC_CHOWN_RESTRICTED = 7 691 X_PC_FILESIZEBITS = 12 692 X_PC_INF_PRESENT = 62 693 X_PC_LINK_MAX = 1 694 X_PC_MAC_PRESENT = 63 695 X_PC_MAX_CANON = 2 696 X_PC_MAX_INPUT = 3 697 X_PC_MIN_HOLE_SIZE = 21 698 X_PC_NAME_MAX = 4 699 X_PC_NO_TRUNC = 8 700 X_PC_PATH_MAX = 5 701 X_PC_PIPE_BUF = 6 702 X_PC_PRIO_IO = 54 703 X_PC_REC_INCR_XFER_SIZE = 14 704 X_PC_REC_MAX_XFER_SIZE = 15 705 X_PC_REC_MIN_XFER_SIZE = 16 706 X_PC_REC_XFER_ALIGN = 17 707 X_PC_SYMLINK_MAX = 18 708 X_PC_SYNC_IO = 55 709 X_PC_VDISABLE = 9 710 X_PDP_ENDIAN = 3412 711 X_PID_T_DECLARED = 0 712 X_POSIX2_CHAR_TERM = 1 713 X_POSIX2_C_BIND = 200112 714 X_POSIX2_C_DEV = -1 715 X_POSIX2_FORT_DEV = -1 716 X_POSIX2_FORT_RUN = 200112 717 X_POSIX2_LOCALEDEF = -1 718 X_POSIX2_PBS = -1 719 X_POSIX2_PBS_ACCOUNTING = -1 720 X_POSIX2_PBS_CHECKPOINT = -1 721 X_POSIX2_PBS_LOCATE = -1 722 X_POSIX2_PBS_MESSAGE = -1 723 X_POSIX2_PBS_TRACK = -1 724 X_POSIX2_SW_DEV = -1 725 X_POSIX2_UPE = 200112 726 X_POSIX2_VERSION = 199212 727 X_POSIX_ADVISORY_INFO = 200112 728 X_POSIX_ASYNCHRONOUS_IO = 200112 729 X_POSIX_BARRIERS = 200112 730 X_POSIX_CHOWN_RESTRICTED = 1 731 X_POSIX_CLOCK_SELECTION = -1 732 X_POSIX_CPUTIME = 200112 733 X_POSIX_FSYNC = 200112 734 X_POSIX_IPV6 = 0 735 X_POSIX_JOB_CONTROL = 1 736 X_POSIX_MAPPED_FILES = 200112 737 X_POSIX_MEMLOCK = -1 738 X_POSIX_MEMLOCK_RANGE = 200112 739 X_POSIX_MEMORY_PROTECTION = 200112 740 X_POSIX_MESSAGE_PASSING = 200112 741 X_POSIX_MONOTONIC_CLOCK = 200112 742 X_POSIX_NO_TRUNC = 1 743 X_POSIX_PRIORITIZED_IO = -1 744 X_POSIX_PRIORITY_SCHEDULING = 0 745 X_POSIX_RAW_SOCKETS = 200112 746 X_POSIX_READER_WRITER_LOCKS = 200112 747 X_POSIX_REALTIME_SIGNALS = 200112 748 X_POSIX_REGEXP = 1 749 X_POSIX_SEMAPHORES = 200112 750 X_POSIX_SHARED_MEMORY_OBJECTS = 200112 751 X_POSIX_SHELL = 1 752 X_POSIX_SPAWN = 200112 753 X_POSIX_SPIN_LOCKS = 200112 754 X_POSIX_SPORADIC_SERVER = -1 755 X_POSIX_SYNCHRONIZED_IO = -1 756 X_POSIX_THREADS = 200112 757 X_POSIX_THREAD_ATTR_STACKADDR = 200112 758 X_POSIX_THREAD_ATTR_STACKSIZE = 200112 759 X_POSIX_THREAD_CPUTIME = 200112 760 X_POSIX_THREAD_PRIORITY_SCHEDULING = 200112 761 X_POSIX_THREAD_PRIO_INHERIT = 200112 762 X_POSIX_THREAD_PRIO_PROTECT = 200112 763 X_POSIX_THREAD_PROCESS_SHARED = 200112 764 X_POSIX_THREAD_SAFE_FUNCTIONS = -1 765 X_POSIX_THREAD_SPORADIC_SERVER = -1 766 X_POSIX_TIMEOUTS = 200112 767 X_POSIX_TIMERS = 200112 768 X_POSIX_TRACE = -1 769 X_POSIX_TRACE_EVENT_FILTER = -1 770 X_POSIX_TRACE_INHERIT = -1 771 X_POSIX_TRACE_LOG = -1 772 X_POSIX_TYPED_MEMORY_OBJECTS = -1 773 X_POSIX_VDISABLE = 0xff 774 X_POSIX_VERSION = 200112 775 X_PTHREAD_T_DECLARED = 0 776 X_QUAD_HIGHWORD = 1 777 X_QUAD_LOWWORD = 0 778 X_RLIM_T_DECLARED = 0 779 X_RSIZE_T_DEFINED = 0 780 X_RUNETYPE_H_ = 0 781 X_RUNE_MAGIC_1 = "RuneMagi" 782 X_RUNE_T_DECLARED = 0 783 X_SC_2_CHAR_TERM = 20 784 X_SC_2_C_BIND = 18 785 X_SC_2_C_DEV = 19 786 X_SC_2_FORT_DEV = 21 787 X_SC_2_FORT_RUN = 22 788 X_SC_2_LOCALEDEF = 23 789 X_SC_2_PBS = 59 790 X_SC_2_PBS_ACCOUNTING = 60 791 X_SC_2_PBS_CHECKPOINT = 61 792 X_SC_2_PBS_LOCATE = 62 793 X_SC_2_PBS_MESSAGE = 63 794 X_SC_2_PBS_TRACK = 64 795 X_SC_2_SW_DEV = 24 796 X_SC_2_UPE = 25 797 X_SC_2_VERSION = 17 798 X_SC_ADVISORY_INFO = 65 799 X_SC_AIO_LISTIO_MAX = 42 800 X_SC_AIO_MAX = 43 801 X_SC_AIO_PRIO_DELTA_MAX = 44 802 X_SC_ARG_MAX = 1 803 X_SC_ASYNCHRONOUS_IO = 28 804 X_SC_ATEXIT_MAX = 107 805 X_SC_BARRIERS = 66 806 X_SC_BC_BASE_MAX = 9 807 X_SC_BC_DIM_MAX = 10 808 X_SC_BC_SCALE_MAX = 11 809 X_SC_BC_STRING_MAX = 12 810 X_SC_CHILD_MAX = 2 811 X_SC_CLK_TCK = 3 812 X_SC_CLOCK_SELECTION = 67 813 X_SC_COLL_WEIGHTS_MAX = 13 814 X_SC_CPUSET_SIZE = 122 815 X_SC_CPUTIME = 68 816 X_SC_DELAYTIMER_MAX = 45 817 X_SC_EXPR_NEST_MAX = 14 818 X_SC_FILE_LOCKING = 69 819 X_SC_FSYNC = 38 820 X_SC_GETGR_R_SIZE_MAX = 70 821 X_SC_GETPW_R_SIZE_MAX = 71 822 X_SC_HOST_NAME_MAX = 72 823 X_SC_IOV_MAX = 56 824 X_SC_IPV6 = 118 825 X_SC_JOB_CONTROL = 6 826 X_SC_LINE_MAX = 15 827 X_SC_LOGIN_NAME_MAX = 73 828 X_SC_MAPPED_FILES = 29 829 X_SC_MEMLOCK = 30 830 X_SC_MEMLOCK_RANGE = 31 831 X_SC_MEMORY_PROTECTION = 32 832 X_SC_MESSAGE_PASSING = 33 833 X_SC_MONOTONIC_CLOCK = 74 834 X_SC_MQ_OPEN_MAX = 46 835 X_SC_MQ_PRIO_MAX = 75 836 X_SC_NGROUPS_MAX = 4 837 X_SC_NPROCESSORS_CONF = 57 838 X_SC_NPROCESSORS_ONLN = 58 839 X_SC_OPEN_MAX = 5 840 X_SC_PAGESIZE = 47 841 X_SC_PAGE_SIZE = 47 842 X_SC_PHYS_PAGES = 121 843 X_SC_PRIORITIZED_IO = 34 844 X_SC_PRIORITY_SCHEDULING = 35 845 X_SC_RAW_SOCKETS = 119 846 X_SC_READER_WRITER_LOCKS = 76 847 X_SC_REALTIME_SIGNALS = 36 848 X_SC_REGEXP = 77 849 X_SC_RE_DUP_MAX = 16 850 X_SC_RTSIG_MAX = 48 851 X_SC_SAVED_IDS = 7 852 X_SC_SEMAPHORES = 37 853 X_SC_SEM_NSEMS_MAX = 49 854 X_SC_SEM_VALUE_MAX = 50 855 X_SC_SHARED_MEMORY_OBJECTS = 39 856 X_SC_SHELL = 78 857 X_SC_SIGQUEUE_MAX = 51 858 X_SC_SPAWN = 79 859 X_SC_SPIN_LOCKS = 80 860 X_SC_SPORADIC_SERVER = 81 861 X_SC_STREAM_MAX = 26 862 X_SC_SYMLOOP_MAX = 120 863 X_SC_SYNCHRONIZED_IO = 40 864 X_SC_THREADS = 96 865 X_SC_THREAD_ATTR_STACKADDR = 82 866 X_SC_THREAD_ATTR_STACKSIZE = 83 867 X_SC_THREAD_CPUTIME = 84 868 X_SC_THREAD_DESTRUCTOR_ITERATIONS = 85 869 X_SC_THREAD_KEYS_MAX = 86 870 X_SC_THREAD_PRIORITY_SCHEDULING = 89 871 X_SC_THREAD_PRIO_INHERIT = 87 872 X_SC_THREAD_PRIO_PROTECT = 88 873 X_SC_THREAD_PROCESS_SHARED = 90 874 X_SC_THREAD_SAFE_FUNCTIONS = 91 875 X_SC_THREAD_SPORADIC_SERVER = 92 876 X_SC_THREAD_STACK_MIN = 93 877 X_SC_THREAD_THREADS_MAX = 94 878 X_SC_TIMEOUTS = 95 879 X_SC_TIMERS = 41 880 X_SC_TIMER_MAX = 52 881 X_SC_TRACE = 97 882 X_SC_TRACE_EVENT_FILTER = 98 883 X_SC_TRACE_INHERIT = 99 884 X_SC_TRACE_LOG = 100 885 X_SC_TTY_NAME_MAX = 101 886 X_SC_TYPED_MEMORY_OBJECTS = 102 887 X_SC_TZNAME_MAX = 27 888 X_SC_V6_ILP32_OFF32 = 103 889 X_SC_V6_ILP32_OFFBIG = 104 890 X_SC_V6_LP64_OFF64 = 105 891 X_SC_V6_LPBIG_OFFBIG = 106 892 X_SC_VERSION = 8 893 X_SC_XOPEN_CRYPT = 108 894 X_SC_XOPEN_ENH_I18N = 109 895 X_SC_XOPEN_LEGACY = 110 896 X_SC_XOPEN_REALTIME = 111 897 X_SC_XOPEN_REALTIME_THREADS = 112 898 X_SC_XOPEN_SHM = 113 899 X_SC_XOPEN_STREAMS = 114 900 X_SC_XOPEN_UNIX = 115 901 X_SC_XOPEN_VERSION = 116 902 X_SC_XOPEN_XCU_VERSION = 117 903 X_SELECT_DECLARED = 0 904 X_SIGSET_T_DECLARED = 0 905 X_SIG_MAXSIG = 128 906 X_SIG_WORDS = 4 907 X_SIZE_T_DECLARED = 0 908 X_SQLITE3RTREE_H_ = 0 909 X_SSIZE_T_DECLARED = 0 910 X_STDFILE_DECLARED = 0 911 X_STDIO_H_ = 0 912 X_STDLIB_H_ = 0 913 X_STDSTREAM_DECLARED = 0 914 X_STRINGS_H_ = 0 915 X_STRING_H_ = 0 916 X_SUSECONDS_T_DECLARED = 0 917 X_SWAB_DECLARED = 0 918 X_SYS_CDEFS_H_ = 0 919 X_SYS_SELECT_H_ = 0 920 X_SYS_TIMESPEC_H_ = 0 921 X_SYS_TYPES_H_ = 0 922 X_SYS_UNISTD_H_ = 0 923 X_SYS__ENDIAN_H_ = 0 924 X_SYS__PTHREADTYPES_H_ = 0 925 X_SYS__SIGSET_H_ = 0 926 X_SYS__STDARG_H_ = 0 927 X_SYS__STDINT_H_ = 0 928 X_SYS__TIMESPEC_H_ = 0 929 X_SYS__TIMEVAL_H_ = 0 930 X_SYS__TYPES_H_ = 0 931 X_TIMER_T_DECLARED = 0 932 X_TIME_T_DECLARED = 0 933 X_TRUNCATE_DECLARED = 0 934 X_UID_T_DECLARED = 0 935 X_UINT16_T_DECLARED = 0 936 X_UINT32_T_DECLARED = 0 937 X_UINT64_T_DECLARED = 0 938 X_UINT8_T_DECLARED = 0 939 X_UINTMAX_T_DECLARED = 0 940 X_UINTPTR_T_DECLARED = 0 941 X_UNISTD_H_ = 0 942 X_USECONDS_T_DECLARED = 0 943 X_V6_ILP32_OFF32 = -1 944 X_V6_ILP32_OFFBIG = 0 945 X_V6_LP64_OFF64 = 0 946 X_V6_LPBIG_OFFBIG = -1 947 X_VA_LIST_DECLARED = 0 948 X_WCHAR_T_DECLARED = 0 949 X_XLOCALE_CTYPE_H = 0 950 X_XLOCALE_RUN_FUNCTIONS_DEFINED = 1 951 X_XLOCALE_STRING1_H = 0 952 X_XLOCALE_STRINGS1_H = 0 953 X_XOPEN_CRYPT = -1 954 X_XOPEN_ENH_I18N = -1 955 X_XOPEN_LEGACY = -1 956 X_XOPEN_REALTIME = -1 957 X_XOPEN_REALTIME_THREADS = -1 958 X_XOPEN_SHM = 1 959 X_XOPEN_STREAMS = -1 960 X_XOPEN_UNIX = -1 961 Unix = 1 962 ) 963 964 type ptrdiff_t = int32 965 966 type size_t = uint32 967 968 type wchar_t = uint32 969 970 var zHelp = *(*[2263]uint8)(unsafe.Pointer(ts)) 971 972 type va_list = uintptr 973 974 type sqlite_int64 = int64 975 type sqlite_uint64 = uint64 976 type sqlite3_int64 = sqlite_int64 977 type sqlite3_uint64 = sqlite_uint64 978 979 type sqlite3_callback = uintptr 980 981 type sqlite3_file1 = struct{ pMethods uintptr } 982 983 type sqlite3_file = sqlite3_file1 984 type sqlite3_io_methods1 = struct { 985 iVersion int32 986 xClose uintptr 987 xRead uintptr 988 xWrite uintptr 989 xTruncate uintptr 990 xSync uintptr 991 xFileSize uintptr 992 xLock uintptr 993 xUnlock uintptr 994 xCheckReservedLock uintptr 995 xFileControl uintptr 996 xSectorSize uintptr 997 xDeviceCharacteristics uintptr 998 xShmMap uintptr 999 xShmLock uintptr 1000 xShmBarrier uintptr 1001 xShmUnmap uintptr 1002 xFetch uintptr 1003 xUnfetch uintptr 1004 } 1005 1006 type sqlite3_io_methods = sqlite3_io_methods1 1007 1008 type sqlite3_vfs1 = struct { 1009 iVersion int32 1010 szOsFile int32 1011 mxPathname int32 1012 pNext uintptr 1013 zName uintptr 1014 pAppData uintptr 1015 xOpen uintptr 1016 xDelete uintptr 1017 xAccess uintptr 1018 xFullPathname uintptr 1019 xDlOpen uintptr 1020 xDlError uintptr 1021 xDlSym uintptr 1022 xDlClose uintptr 1023 xRandomness uintptr 1024 xSleep uintptr 1025 xCurrentTime uintptr 1026 xGetLastError uintptr 1027 xCurrentTimeInt64 uintptr 1028 xSetSystemCall uintptr 1029 xGetSystemCall uintptr 1030 xNextSystemCall uintptr 1031 } 1032 1033 type sqlite3_vfs = sqlite3_vfs1 1034 type sqlite3_syscall_ptr = uintptr 1035 1036 type sqlite3_mem_methods1 = struct { 1037 xMalloc uintptr 1038 xFree uintptr 1039 xRealloc uintptr 1040 xSize uintptr 1041 xRoundup uintptr 1042 xInit uintptr 1043 xShutdown uintptr 1044 pAppData uintptr 1045 } 1046 1047 type sqlite3_mem_methods = sqlite3_mem_methods1 1048 1049 type sqlite3_destructor_type = uintptr 1050 1051 type sqlite3_vtab1 = struct { 1052 pModule uintptr 1053 nRef int32 1054 zErrMsg uintptr 1055 } 1056 1057 type sqlite3_vtab = sqlite3_vtab1 1058 type sqlite3_index_info1 = struct { 1059 nConstraint int32 1060 aConstraint uintptr 1061 nOrderBy int32 1062 aOrderBy uintptr 1063 aConstraintUsage uintptr 1064 idxNum int32 1065 idxStr uintptr 1066 needToFreeIdxStr int32 1067 orderByConsumed int32 1068 _ [4]byte 1069 estimatedCost float64 1070 estimatedRows sqlite3_int64 1071 idxFlags int32 1072 _ [4]byte 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 _ [4]byte 1215 } 1216 1217 type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 1218 1219 type sqlite3_rtree_dbl = float64 1220 1221 type Fts5ExtensionApi1 = struct { 1222 iVersion int32 1223 xUserData uintptr 1224 xColumnCount uintptr 1225 xRowCount uintptr 1226 xColumnTotalSize uintptr 1227 xTokenize uintptr 1228 xPhraseCount uintptr 1229 xPhraseSize uintptr 1230 xInstCount uintptr 1231 xInst uintptr 1232 xRowid uintptr 1233 xColumnText uintptr 1234 xColumnSize uintptr 1235 xQueryPhrase uintptr 1236 xSetAuxdata uintptr 1237 xGetAuxdata uintptr 1238 xPhraseFirst uintptr 1239 xPhraseNext uintptr 1240 xPhraseFirstColumn uintptr 1241 xPhraseNextColumn uintptr 1242 } 1243 1244 type Fts5ExtensionApi = Fts5ExtensionApi1 1245 type Fts5PhraseIter1 = struct { 1246 a uintptr 1247 b uintptr 1248 } 1249 1250 type Fts5PhraseIter = Fts5PhraseIter1 1251 1252 type fts5_extension_function = uintptr 1253 type fts5_tokenizer1 = struct { 1254 xCreate uintptr 1255 xDelete uintptr 1256 xTokenize uintptr 1257 } 1258 1259 type fts5_tokenizer = fts5_tokenizer1 1260 1261 type fts5_api1 = struct { 1262 iVersion int32 1263 xCreateTokenizer uintptr 1264 xFindTokenizer uintptr 1265 xCreateFunction uintptr 1266 } 1267 1268 type fts5_api = fts5_api1 1269 1270 type fpos_t = int64 1271 1272 type rsize_t = size_t 1273 1274 type off_t = int64 1275 type ssize_t = int32 1276 1277 type off64_t = int64 1278 1279 type __sbuf = struct { 1280 _base uintptr 1281 _size int32 1282 } 1283 1284 type __sFILE = struct { 1285 _p uintptr 1286 _r int32 1287 _w int32 1288 _flags int16 1289 _file int16 1290 _bf struct { 1291 _base uintptr 1292 _size int32 1293 } 1294 _lbfsize int32 1295 _cookie uintptr 1296 _close uintptr 1297 _read uintptr 1298 _seek uintptr 1299 _write uintptr 1300 _ub struct { 1301 _base uintptr 1302 _size int32 1303 } 1304 _up uintptr 1305 _ur int32 1306 _ubuf [3]uint8 1307 _nbuf [1]uint8 1308 _lb struct { 1309 _base uintptr 1310 _size int32 1311 } 1312 _blksize int32 1313 _offset fpos_t 1314 _fl_mutex uintptr 1315 _fl_owner uintptr 1316 _fl_count int32 1317 _orientation int32 1318 _mbstate struct { 1319 _ [0]uint64 1320 __mbstate8 [128]uint8 1321 } 1322 _flags2 int32 1323 _ [4]byte 1324 } 1325 1326 type FILE = __sFILE 1327 type cookie_io_functions_t = struct { 1328 read uintptr 1329 write uintptr 1330 seek uintptr 1331 close uintptr 1332 } 1333 1334 type rune_t = int32 1335 1336 type div_t = struct { 1337 quot int32 1338 rem int32 1339 } 1340 1341 type ldiv_t = struct { 1342 quot int32 1343 rem int32 1344 } 1345 1346 type lldiv_t = struct { 1347 quot int64 1348 rem int64 1349 } 1350 1351 type errno_t = int32 1352 1353 type constraint_handler_t = uintptr 1354 1355 type locale_t = uintptr 1356 1357 type _RuneEntry = struct { 1358 __min int32 1359 __max int32 1360 __map int32 1361 __types uintptr 1362 } 1363 1364 type _RuneRange = struct { 1365 __nranges int32 1366 __ranges uintptr 1367 } 1368 1369 type _RuneLocale = struct { 1370 __magic [8]uint8 1371 __encoding [32]uint8 1372 __sgetrune uintptr 1373 __sputrune uintptr 1374 __invalid_rune int32 1375 __runetype [256]uint32 1376 __maplower [256]int32 1377 __mapupper [256]int32 1378 __runetype_ext _RuneRange 1379 __maplower_ext _RuneRange 1380 __mapupper_ext _RuneRange 1381 __variable uintptr 1382 __variable_len int32 1383 } 1384 1385 func __getCurrentRuneLocale(tls *libc.TLS) uintptr { 1386 if libc.X_ThreadRuneLocale != 0 { 1387 return libc.X_ThreadRuneLocale 1388 } 1389 return libc.X_CurrentRuneLocale 1390 } 1391 1392 func __maskrune(tls *libc.TLS, _c int32, _f uint32) int32 { 1393 return int32(func() uint32 { 1394 if _c < 0 || _c >= int32(1)<<8 { 1395 return libc.X___runetype(tls, _c) 1396 } 1397 return *(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4)) 1398 }() & _f) 1399 } 1400 1401 func __sbmaskrune(tls *libc.TLS, _c int32, _f uint32) int32 { 1402 if _c < 0 || _c >= libc.X__mb_sb_limit { 1403 return 0 1404 } 1405 return int32(*(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4)) & _f) 1406 } 1407 1408 func __sbistype(tls *libc.TLS, _c int32, _f uint32) int32 { 1409 return libc.BoolInt32(!!(__sbmaskrune(tls, _c, _f) != 0)) 1410 } 1411 1412 func __sbmaskrune_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 { 1413 bp := tls.Alloc(4) 1414 defer tls.Free(4) 1415 1416 var runes uintptr = libc.X__runes_for_locale(tls, __loc, bp) 1417 if __c < 0 || __c >= *(*int32)(unsafe.Pointer(bp)) { 1418 return 0 1419 } 1420 return int32(*(*uint32)(unsafe.Pointer(runes + 52 + uintptr(__c)*4)) & __f) 1421 } 1422 1423 func __sbistype_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 { 1424 return libc.BoolInt32(!!(__sbmaskrune_l(tls, __c, __f, __loc) != 0)) 1425 } 1426 1427 type pthread_once = struct { 1428 state int32 1429 mutex pthread_mutex_t 1430 } 1431 1432 type pthread_t = uintptr 1433 type pthread_attr_t = uintptr 1434 type pthread_mutex_t = uintptr 1435 type pthread_mutexattr_t = uintptr 1436 type pthread_cond_t = uintptr 1437 type pthread_condattr_t = uintptr 1438 type pthread_key_t = int32 1439 type pthread_once_t = pthread_once 1440 type pthread_rwlock_t = uintptr 1441 type pthread_rwlockattr_t = uintptr 1442 type pthread_barrier_t = uintptr 1443 type pthread_barrierattr_t = uintptr 1444 type pthread_spinlock_t = uintptr 1445 1446 type pthread_addr_t = uintptr 1447 type pthread_startroutine_t = uintptr 1448 1449 type u_char = uint8 1450 type u_short = uint16 1451 type u_int = uint32 1452 type u_long = uint32 1453 type ushort = uint16 1454 type uint = uint32 1455 1456 type int8_t = int8 1457 1458 type int16_t = int16 1459 1460 type int32_t = int32 1461 1462 type int64_t = int64 1463 1464 type uint8_t = uint8 1465 1466 type uint16_t = uint16 1467 1468 type uint32_t = uint32 1469 1470 type uint64_t = uint64 1471 1472 type intptr_t = int32 1473 type uintptr_t = uint32 1474 type intmax_t = int64 1475 type uintmax_t = uint64 1476 1477 type u_int8_t = uint8 1478 type u_int16_t = uint16 1479 type u_int32_t = uint32 1480 type u_int64_t = uint64 1481 1482 type u_quad_t = uint64 1483 type quad_t = int64 1484 type qaddr_t = uintptr 1485 1486 type caddr_t = uintptr 1487 type c_caddr_t = uintptr 1488 1489 type blksize_t = int32 1490 1491 type cpuwhich_t = int32 1492 type cpulevel_t = int32 1493 type cpusetid_t = int32 1494 1495 type blkcnt_t = int64 1496 1497 type clock_t = uint32 1498 1499 type clockid_t = int32 1500 1501 type critical_t = int32 1502 type daddr_t = int64 1503 1504 type dev_t = uint64 1505 1506 type fflags_t = uint32 1507 1508 type fixpt_t = uint32 1509 1510 type fsblkcnt_t = uint64 1511 type fsfilcnt_t = uint64 1512 1513 type gid_t = uint32 1514 1515 type in_addr_t = uint32 1516 1517 type in_port_t = uint16 1518 1519 type id_t = int64 1520 1521 type ino_t = uint64 1522 1523 type key_t = int32 1524 1525 type lwpid_t = int32 1526 1527 type mode_t = uint16 1528 1529 type accmode_t = int32 1530 1531 type nlink_t = uint64 1532 1533 type pid_t = int32 1534 1535 type register_t = int32 1536 1537 type rlim_t = int64 1538 1539 type sbintime_t = int64 1540 1541 type segsz_t = int32 1542 1543 type suseconds_t = int32 1544 1545 type time_t = int64 1546 1547 type timer_t = uintptr 1548 1549 type mqd_t = uintptr 1550 1551 type u_register_t = uint32 1552 1553 type uid_t = uint32 1554 1555 type useconds_t = uint32 1556 1557 type cap_ioctl_t = uint32 1558 1559 type kpaddr_t = uint64 1560 type kvaddr_t = uint64 1561 type ksize_t = uint64 1562 type kssize_t = int64 1563 1564 type vm_offset_t = uint32 1565 type vm_ooffset_t = uint64 1566 type vm_paddr_t = uint32 1567 type vm_pindex_t = uint64 1568 type vm_size_t = uint32 1569 1570 type rman_res_t = uint64 1571 1572 func __bitcount32(tls *libc.TLS, _x uint32) uint32 { 1573 _x = _x&uint32(0x55555555) + _x&0xaaaaaaaa>>1 1574 _x = _x&uint32(0x33333333) + _x&0xcccccccc>>2 1575 _x = (_x + _x>>4) & uint32(0x0f0f0f0f) 1576 _x = _x + _x>>8 1577 _x = (_x + _x>>16) & uint32(0x000000ff) 1578 return _x 1579 } 1580 1581 type __sigset = struct{ __bits [4]uint32 } 1582 1583 type timeval = struct { 1584 tv_sec time_t 1585 tv_usec suseconds_t 1586 _ [4]byte 1587 } 1588 1589 type timespec = struct { 1590 tv_sec time_t 1591 tv_nsec int32 1592 _ [4]byte 1593 } 1594 1595 type itimerspec = struct { 1596 it_interval struct { 1597 tv_sec time_t 1598 tv_nsec int32 1599 _ [4]byte 1600 } 1601 it_value struct { 1602 tv_sec time_t 1603 tv_nsec int32 1604 _ [4]byte 1605 } 1606 } 1607 1608 type fd_mask = uint32 1609 1610 type sigset_t = __sigset 1611 1612 type fd_set1 = struct{ __fds_bits [32]uint32 } 1613 1614 type fd_set = fd_set1 1615 1616 type crypt_data = struct { 1617 initialized int32 1618 __buf [256]uint8 1619 } 1620 1621 type u64 = sqlite3_uint64 1622 1623 type HashContext1 = struct { 1624 isInit uint8 1625 i uint8 1626 j uint8 1627 s [256]uint8 1628 r [32]uint8 1629 } 1630 1631 type HashContext = HashContext1 1632 1633 type Global = struct { 1634 db uintptr 1635 pStmt uintptr 1636 iStart sqlite3_int64 1637 iTotal sqlite3_int64 1638 bWithoutRowid int32 1639 bReprepare int32 1640 bSqlOnly int32 1641 bExplain int32 1642 bVerify int32 1643 bMemShrink int32 1644 eTemp int32 1645 szTest int32 1646 nRepeat int32 1647 doCheckpoint int32 1648 nReserve int32 1649 zWR uintptr 1650 zNN uintptr 1651 zPK uintptr 1652 x uint32 1653 y uint32 1654 nResByte u64 1655 nResult int32 1656 zResult [3000]uint8 1657 hashFile uintptr 1658 hash HashContext 1659 _ [5]byte 1660 } 1661 1662 var g Global 1663 1664 func isTemp(tls *libc.TLS, N int32) uintptr { 1665 if g.eTemp >= N { 1666 return ts + 2263 1667 } 1668 return ts + 2269 1669 } 1670 1671 func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) { 1672 var ap va_list 1673 _ = ap 1674 ap = va 1675 libc.Xvfprintf(tls, libc.X__stderrp, zMsg, ap) 1676 _ = ap 1677 libc.Xexit(tls, 1) 1678 } 1679 1680 func HashInit(tls *libc.TLS) { 1681 var k uint32 1682 g.hash.i = uint8(0) 1683 g.hash.j = uint8(0) 1684 for k = uint32(0); k < uint32(256); k++ { 1685 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(k))) = uint8(k) 1686 } 1687 } 1688 1689 func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) { 1690 var t uint8 1691 var i uint8 = g.hash.i 1692 var j uint8 = g.hash.j 1693 var k uint32 1694 if g.hashFile != 0 { 1695 libc.Xfwrite(tls, aData, uint32(1), nData, g.hashFile) 1696 } 1697 for k = uint32(0); k < nData; k++ { 1698 j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k)))))) 1699 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) 1700 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) 1701 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) = t 1702 i++ 1703 } 1704 g.hash.i = i 1705 g.hash.j = j 1706 } 1707 1708 func HashFinal(tls *libc.TLS) { 1709 var k uint32 1710 var t uint8 1711 var i uint8 1712 var j uint8 1713 i = g.hash.i 1714 j = g.hash.j 1715 for k = uint32(0); k < uint32(32); k++ { 1716 i++ 1717 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) 1718 j = uint8(int32(j) + int32(t)) 1719 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) 1720 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(j))) = t 1721 t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(i))))) 1722 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 3 + uintptr(t))) 1723 } 1724 } 1725 1726 func hexDigitValue(tls *libc.TLS, c uint8) int32 { 1727 if int32(c) >= '0' && int32(c) <= '9' { 1728 return int32(c) - '0' 1729 } 1730 if int32(c) >= 'a' && int32(c) <= 'f' { 1731 return int32(c) - 'a' + 10 1732 } 1733 if int32(c) >= 'A' && int32(c) <= 'F' { 1734 return int32(c) - 'A' + 10 1735 } 1736 return -1 1737 } 1738 1739 func integerValue(tls *libc.TLS, zArg uintptr) int32 { 1740 var v sqlite3_int64 = int64(0) 1741 var i int32 1742 var isNeg int32 = 0 1743 if int32(*(*uint8)(unsafe.Pointer(zArg))) == '-' { 1744 isNeg = 1 1745 zArg++ 1746 } else if int32(*(*uint8)(unsafe.Pointer(zArg))) == '+' { 1747 zArg++ 1748 } 1749 if int32(*(*uint8)(unsafe.Pointer(zArg))) == '0' && int32(*(*uint8)(unsafe.Pointer(zArg + 1))) == 'x' { 1750 var x int32 1751 zArg += uintptr(2) 1752 for libc.AssignInt32(&x, hexDigitValue(tls, *(*uint8)(unsafe.Pointer(zArg)))) >= 0 { 1753 v = v<<4 + sqlite3_int64(x) 1754 zArg++ 1755 } 1756 } else { 1757 for __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zArg))), uint32(X_CTYPE_D)) != 0 { 1758 v = v*int64(10) + sqlite3_int64(*(*uint8)(unsafe.Pointer(zArg))) - int64('0') 1759 zArg++ 1760 } 1761 } 1762 for i = 0; uint32(i) < uint32(unsafe.Sizeof(aMult))/uint32(unsafe.Sizeof(struct { 1763 zSuffix uintptr 1764 iMult int32 1765 }{})); i++ { 1766 if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 { 1767 v = v * sqlite3_int64(aMult[i].iMult) 1768 break 1769 } 1770 } 1771 if v > int64(0x7fffffff) { 1772 fatal_error(tls, ts+2270, 0) 1773 } 1774 return func() int32 { 1775 if isNeg != 0 { 1776 return int32(-v) 1777 } 1778 return int32(v) 1779 }() 1780 } 1781 1782 var aMult = [9]struct { 1783 zSuffix uintptr 1784 iMult int32 1785 }{ 1786 {zSuffix: ts + 2307, iMult: 1024}, 1787 {zSuffix: ts + 2311, iMult: 1024 * 1024}, 1788 {zSuffix: ts + 2315, iMult: 1024 * 1024 * 1024}, 1789 {zSuffix: ts + 2319, iMult: 1000}, 1790 {zSuffix: ts + 2322, iMult: 1000000}, 1791 {zSuffix: ts + 2325, iMult: 1000000000}, 1792 {zSuffix: ts + 2328, iMult: 1000}, 1793 {zSuffix: ts + 2330, iMult: 1000000}, 1794 {zSuffix: ts + 2332, iMult: 1000000000}, 1795 } 1796 1797 func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 { 1798 bp := tls.Alloc(16) 1799 defer tls.Free(16) 1800 1801 if clockVfs == uintptr(0) { 1802 clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) 1803 } 1804 if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) { 1805 (*struct { 1806 f func(*libc.TLS, uintptr, uintptr) int32 1807 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp) 1808 } else { 1809 (*struct { 1810 f func(*libc.TLS, uintptr, uintptr) int32 1811 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8) 1812 *(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0) 1813 } 1814 return *(*sqlite3_int64)(unsafe.Pointer(bp)) 1815 } 1816 1817 var clockVfs uintptr = uintptr(0) 1818 1819 func speedtest1_random(tls *libc.TLS) uint32 { 1820 g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001 1821 g.y = g.y*uint32(1103515245) + uint32(12345) 1822 return g.x ^ g.y 1823 } 1824 1825 func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 { 1826 var out uint32 = uint32(0) 1827 for limit != 0 { 1828 out = out<<1 | in&uint32(1) 1829 in >>= 1 1830 limit >>= 1 1831 } 1832 return out 1833 } 1834 1835 func roundup_allones(tls *libc.TLS, limit uint32) uint32 { 1836 var m uint32 = uint32(1) 1837 for m < limit { 1838 m = m<<1 + uint32(1) 1839 } 1840 return m 1841 } 1842 1843 func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 { 1844 bp := tls.Alloc(24) 1845 defer tls.Free(24) 1846 1847 var i int32 = 0 1848 1849 if n >= uint32(1000000000) { 1850 i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i) 1851 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2334, 0) 1852 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1853 n = n % uint32(1000000000) 1854 } 1855 if n >= uint32(1000000) { 1856 if i != 0 && i < nOut-1 { 1857 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1858 } 1859 i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i) 1860 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2343, 0) 1861 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1862 n = n % uint32(1000000) 1863 } 1864 if n >= uint32(1000) { 1865 if i != 0 && i < nOut-1 { 1866 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1867 } 1868 i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i) 1869 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2352, 0) 1870 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1871 n = n % uint32(1000) 1872 } 1873 if n >= uint32(100) { 1874 if i != 0 && i < nOut-1 { 1875 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1876 } 1877 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2362, libc.VaList(bp, ones[n/uint32(100)])) 1878 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1879 n = n % uint32(100) 1880 } 1881 if n >= uint32(20) { 1882 if i != 0 && i < nOut-1 { 1883 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1884 } 1885 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+8, tens[n/uint32(10)])) 1886 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1887 n = n % uint32(10) 1888 } 1889 if n > uint32(0) { 1890 if i != 0 && i < nOut-1 { 1891 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1892 } 1893 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+16, ones[n])) 1894 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1895 } 1896 if i == 0 { 1897 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2376, 0) 1898 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1899 } 1900 return i 1901 } 1902 1903 var ones = [20]uintptr{ts + 2376, ts + 2381, ts + 2385, ts + 2389, ts + 2395, ts + 2400, 1904 ts + 2405, ts + 2409, ts + 2415, ts + 2421, ts + 2426, ts + 2430, ts + 2437, 1905 ts + 2444, ts + 2453, ts + 2462, ts + 2470, ts + 2478, 1906 ts + 2488, ts + 2497} 1907 var tens = [10]uintptr{ts + 2269, ts + 2426, ts + 2506, ts + 2513, ts + 2520, 1908 ts + 2526, ts + 2532, ts + 2538, ts + 2546, ts + 2553} 1909 1910 var zDots = *(*[72]uint8)(unsafe.Pointer(ts + 2560)) 1911 1912 func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) { 1913 bp := tls.Alloc(64) 1914 defer tls.Free(64) 1915 1916 var n int32 = int32(libc.Xstrlen(tls, zTestName)) 1917 var zName uintptr 1918 var ap va_list 1919 _ = ap 1920 ap = va 1921 zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap) 1922 _ = ap 1923 n = int32(libc.Xstrlen(tls, zName)) 1924 if n > NAMEWIDTH { 1925 *(*uint8)(unsafe.Pointer(zName + 60)) = uint8(0) 1926 n = NAMEWIDTH 1927 } 1928 if g.bSqlOnly != 0 { 1929 libc.Xprintf(tls, ts+2632, libc.VaList(bp, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 1930 } else { 1931 libc.Xprintf(tls, ts+2652, libc.VaList(bp+32, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 1932 libc.Xfflush(tls, libc.X__stdoutp) 1933 } 1934 sqlite3.Xsqlite3_free(tls, zName) 1935 g.nResult = 0 1936 g.iStart = speedtest1_timestamp(tls) 1937 g.x = 0xad131d0b 1938 g.y = uint32(0x44f9eac8) 1939 } 1940 1941 func speedtest1_end_test(tls *libc.TLS) { 1942 bp := tls.Alloc(16) 1943 defer tls.Free(16) 1944 1945 var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart 1946 if g.doCheckpoint != 0 { 1947 speedtest1_exec(tls, ts+2666, 0) 1948 } 1949 if !(g.bSqlOnly != 0) { 1950 *(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 16)) += iElapseTime 1951 libc.Xprintf(tls, ts+2689, libc.VaList(bp, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000)))) 1952 } 1953 if g.pStmt != 0 { 1954 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 1955 g.pStmt = uintptr(0) 1956 } 1957 } 1958 1959 func speedtest1_final(tls *libc.TLS) { 1960 bp := tls.Alloc(48) 1961 defer tls.Free(48) 1962 1963 if !(g.bSqlOnly != 0) { 1964 libc.Xprintf(tls, ts+2700, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)), 1965 int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000)))) 1966 } 1967 if g.bVerify != 0 { 1968 var i int32 1969 libc.Xprintf(tls, ts+2728, libc.VaList(bp+32, g.nResByte)) 1970 HashUpdate(tls, ts+2753, uint32(1)) 1971 HashFinal(tls) 1972 for i = 0; i < 24; i++ { 1973 libc.Xprintf(tls, ts+2755, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3104 + 259 + uintptr(i)))))) 1974 } 1975 if g.hashFile != 0 && g.hashFile != libc.X__stdoutp { 1976 libc.Xfclose(tls, g.hashFile) 1977 } 1978 libc.Xprintf(tls, ts+2753, 0) 1979 } 1980 } 1981 1982 func printSql(tls *libc.TLS, zSql uintptr) { 1983 bp := tls.Alloc(32) 1984 defer tls.Free(32) 1985 1986 var n int32 = int32(libc.Xstrlen(tls, zSql)) 1987 for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))), uint32(X_CTYPE_S)) != 0) { 1988 n-- 1989 } 1990 if g.bExplain != 0 { 1991 libc.Xprintf(tls, ts+2760, 0) 1992 } 1993 libc.Xprintf(tls, ts+2769, libc.VaList(bp, n, zSql)) 1994 if g.bExplain != 0 && 1995 (sqlite3.Xsqlite3_strglob(tls, ts+2776, zSql) == 0 || 1996 sqlite3.Xsqlite3_strglob(tls, ts+2785, zSql) == 0 || 1997 sqlite3.Xsqlite3_strglob(tls, ts+2792, zSql) == 0) { 1998 libc.Xprintf(tls, ts+2769, libc.VaList(bp+16, n, zSql)) 1999 } 2000 } 2001 2002 func speedtest1_shrink_memory(tls *libc.TLS) { 2003 if g.bMemShrink != 0 { 2004 sqlite3.Xsqlite3_db_release_memory(tls, g.db) 2005 } 2006 } 2007 2008 func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { 2009 bp := tls.Alloc(28) 2010 defer tls.Free(28) 2011 2012 var ap va_list 2013 _ = ap 2014 var zSql uintptr 2015 ap = va 2016 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2017 _ = ap 2018 if g.bSqlOnly != 0 { 2019 printSql(tls, zSql) 2020 } else { 2021 *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) 2022 var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24) 2023 if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 { 2024 fatal_error(tls, ts+2800, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24)), zSql)) 2025 } 2026 if rc != SQLITE_OK { 2027 fatal_error(tls, ts+2818, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2028 } 2029 } 2030 sqlite3.Xsqlite3_free(tls, zSql) 2031 speedtest1_shrink_memory(tls) 2032 } 2033 2034 func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { 2035 bp := tls.Alloc(20) 2036 defer tls.Free(20) 2037 2038 var ap va_list 2039 _ = ap 2040 var zSql uintptr 2041 2042 var zResult uintptr = uintptr(0) 2043 ap = va 2044 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2045 _ = ap 2046 if g.bSqlOnly != 0 { 2047 printSql(tls, zSql) 2048 } else { 2049 var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0)) 2050 if rc != 0 { 2051 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2052 } 2053 if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW { 2054 var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 0) 2055 if z != 0 { 2056 zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2373, libc.VaList(bp+8, z)) 2057 } 2058 } 2059 sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 2060 } 2061 sqlite3.Xsqlite3_free(tls, zSql) 2062 speedtest1_shrink_memory(tls) 2063 return zResult 2064 } 2065 2066 func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) { 2067 bp := tls.Alloc(8) 2068 defer tls.Free(8) 2069 2070 var ap va_list 2071 _ = ap 2072 var zSql uintptr 2073 ap = va 2074 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2075 _ = ap 2076 if g.bSqlOnly != 0 { 2077 printSql(tls, zSql) 2078 } else { 2079 var rc int32 2080 if g.pStmt != 0 { 2081 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 2082 } 2083 rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+4, uintptr(0)) 2084 if rc != 0 { 2085 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2086 } 2087 } 2088 sqlite3.Xsqlite3_free(tls, zSql) 2089 } 2090 2091 func speedtest1_run(tls *libc.TLS) { 2092 bp := tls.Alloc(8) 2093 defer tls.Free(8) 2094 2095 var i int32 2096 var n int32 2097 var len int32 2098 if g.bSqlOnly != 0 { 2099 return 2100 } 2101 2102 g.nResult = 0 2103 for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW { 2104 n = sqlite3.Xsqlite3_column_count(tls, g.pStmt) 2105 for i = 0; i < n; i++ { 2106 var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i) 2107 if z == uintptr(0) { 2108 z = ts + 2849 2109 } 2110 len = int32(libc.Xstrlen(tls, z)) 2111 if g.bVerify != 0 { 2112 var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i) 2113 2114 *(*uint8)(unsafe.Pointer(bp)) = uint8('\n') 2115 *(*uint8)(unsafe.Pointer(bp + 1)) = *(*uint8)(unsafe.Pointer(ts + 2853 + uintptr(eType))) 2116 if g.nResByte != 0 { 2117 HashUpdate(tls, bp, uint32(2)) 2118 } else { 2119 HashUpdate(tls, bp+uintptr(1), uint32(1)) 2120 } 2121 if eType == SQLITE_FLOAT { 2122 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 88)) += uint64(2) 2123 } else if eType == SQLITE_BLOB { 2124 var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i) 2125 var iBlob int32 2126 2127 var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i) 2128 for iBlob = 0; iBlob < nBlob; iBlob++ { 2129 *(*uint8)(unsafe.Pointer(bp + 2)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4))) 2130 *(*uint8)(unsafe.Pointer(bp + 2 + 1)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15))) 2131 HashUpdate(tls, bp+2, uint32(2)) 2132 } 2133 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 88)) += u64(nBlob*2 + 2) 2134 } else { 2135 HashUpdate(tls, z, uint32(len)) 2136 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 88)) += u64(len + 2) 2137 } 2138 } 2139 if uint32(g.nResult+len) < uint32(unsafe.Sizeof([3000]uint8{}))-uint32(2) { 2140 if g.nResult > 0 { 2141 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 100 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = uint8(' ') 2142 } 2143 libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+100+uintptr(g.nResult), z, uint32(len+1)) 2144 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 96)) += len 2145 } 2146 } 2147 } 2148 if g.bReprepare != 0 { 2149 sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+4, uintptr(0)) 2150 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 2151 g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 4)) 2152 } else { 2153 sqlite3.Xsqlite3_reset(tls, g.pStmt) 2154 } 2155 speedtest1_shrink_memory(tls) 2156 } 2157 2158 func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) { 2159 bp := tls.Alloc(16) 2160 defer tls.Free(16) 2161 2162 var n int32 = int32(libc.Xstrlen(tls, zSql)) 2163 for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))), uint32(X_CTYPE_S)) != 0) { 2164 n-- 2165 } 2166 libc.Xfprintf(tls, libc.X__stderrp, ts+2769, libc.VaList(bp, n, zSql)) 2167 } 2168 2169 func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { 2170 sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls))) 2171 } 2172 2173 func est_square_root(tls *libc.TLS, x int32) int32 { 2174 var y0 int32 = x / 2 2175 var y1 int32 2176 var n int32 2177 for n = 0; y0 > 0 && n < 10; n++ { 2178 y1 = (y0 + x/y0) / 2 2179 if y1 == y0 { 2180 break 2181 } 2182 y0 = y1 2183 } 2184 return y0 2185 } 2186 2187 func testset_main(tls *libc.TLS) { 2188 bp := tls.Alloc(2568) 2189 defer tls.Free(2568) 2190 2191 var i int32 2192 var n int32 2193 var sz int32 2194 var maxb int32 2195 var x1 uint32 = uint32(0) 2196 var x2 uint32 = uint32(0) 2197 var len int32 = 0 2198 2199 sz = libc.AssignInt32(&n, g.szTest*500) 2200 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0) 2201 maxb = int32(roundup_allones(tls, uint32(sz))) 2202 speedtest1_begin_test(tls, 100, ts+2877, libc.VaList(bp, n)) 2203 speedtest1_exec(tls, ts+2913, 0) 2204 speedtest1_exec(tls, ts+2919, 2205 libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN)) 2206 speedtest1_prepare(tls, ts+2977, libc.VaList(bp+40, n)) 2207 for i = 1; i <= n; i++ { 2208 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2209 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2210 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 2211 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2212 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2213 speedtest1_run(tls) 2214 } 2215 speedtest1_exec(tls, ts+3023, 0) 2216 speedtest1_end_test(tls) 2217 2218 n = sz 2219 speedtest1_begin_test(tls, 110, ts+3030, libc.VaList(bp+48, n)) 2220 speedtest1_exec(tls, ts+2913, 0) 2221 speedtest1_exec(tls, 2222 ts+3067, 2223 libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2224 speedtest1_prepare(tls, ts+3130, libc.VaList(bp+104, n)) 2225 for i = 1; i <= n; i++ { 2226 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2227 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2228 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i) 2229 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1)) 2230 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2231 speedtest1_run(tls) 2232 } 2233 speedtest1_exec(tls, ts+3023, 0) 2234 speedtest1_end_test(tls) 2235 2236 n = sz 2237 speedtest1_begin_test(tls, 120, ts+3175, libc.VaList(bp+112, n)) 2238 speedtest1_exec(tls, ts+2913, 0) 2239 speedtest1_exec(tls, 2240 ts+3214, 2241 libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2242 speedtest1_prepare(tls, ts+3277, libc.VaList(bp+168, n)) 2243 for i = 1; i <= n; i++ { 2244 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2245 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2246 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2247 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 2248 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2249 speedtest1_run(tls) 2250 } 2251 speedtest1_exec(tls, ts+3023, 0) 2252 speedtest1_end_test(tls) 2253 2254 n = 25 2255 speedtest1_begin_test(tls, 130, ts+3322, libc.VaList(bp+176, n)) 2256 speedtest1_exec(tls, ts+2913, 0) 2257 speedtest1_prepare(tls, 2258 ts+3361, libc.VaList(bp+184, n)) 2259 for i = 1; i <= n; i++ { 2260 if (i-1)%g.nRepeat == 0 { 2261 x1 = speedtest1_random(tls) % uint32(maxb) 2262 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2263 } 2264 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2265 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2266 speedtest1_run(tls) 2267 } 2268 speedtest1_exec(tls, ts+3023, 0) 2269 speedtest1_end_test(tls) 2270 2271 n = 10 2272 speedtest1_begin_test(tls, 140, ts+3466, libc.VaList(bp+192, n)) 2273 speedtest1_exec(tls, ts+2913, 0) 2274 speedtest1_prepare(tls, 2275 ts+3494, libc.VaList(bp+200, n)) 2276 for i = 1; i <= n; i++ { 2277 if (i-1)%g.nRepeat == 0 { 2278 x1 = speedtest1_random(tls) % uint32(maxb) 2279 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%') 2280 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint32(unsafe.Sizeof([2000]uint8{}))-uint32(2))) 2281 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%') 2282 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0) 2283 } 2284 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2285 speedtest1_run(tls) 2286 } 2287 speedtest1_exec(tls, ts+3023, 0) 2288 speedtest1_end_test(tls) 2289 2290 n = 10 2291 speedtest1_begin_test(tls, 142, ts+3589, libc.VaList(bp+208, n)) 2292 speedtest1_exec(tls, ts+2913, 0) 2293 speedtest1_prepare(tls, 2294 ts+3622, libc.VaList(bp+216, n)) 2295 for i = 1; i <= n; i++ { 2296 if (i-1)%g.nRepeat == 0 { 2297 x1 = speedtest1_random(tls) % uint32(maxb) 2298 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%') 2299 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint32(unsafe.Sizeof([2000]uint8{}))-uint32(2))) 2300 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%') 2301 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0) 2302 } 2303 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2304 speedtest1_run(tls) 2305 } 2306 speedtest1_exec(tls, ts+3023, 0) 2307 speedtest1_end_test(tls) 2308 2309 n = 10 2310 speedtest1_begin_test(tls, 145, ts+3686, libc.VaList(bp+224, n)) 2311 speedtest1_exec(tls, ts+2913, 0) 2312 speedtest1_prepare(tls, 2313 ts+3729, libc.VaList(bp+232, n)) 2314 for i = 1; i <= n; i++ { 2315 if (i-1)%g.nRepeat == 0 { 2316 x1 = speedtest1_random(tls) % uint32(maxb) 2317 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%') 2318 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint32(unsafe.Sizeof([2000]uint8{}))-uint32(2))) 2319 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%') 2320 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0) 2321 } 2322 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2323 speedtest1_run(tls) 2324 } 2325 speedtest1_exec(tls, ts+3023, 0) 2326 speedtest1_end_test(tls) 2327 2328 speedtest1_begin_test(tls, 150, ts+3802, 0) 2329 speedtest1_exec(tls, ts+3826, 0) 2330 speedtest1_exec(tls, ts+3833, 0) 2331 speedtest1_exec(tls, ts+3867, 0) 2332 speedtest1_exec(tls, ts+3894, 0) 2333 speedtest1_exec(tls, ts+3928, 0) 2334 speedtest1_exec(tls, ts+3960, 0) 2335 speedtest1_exec(tls, ts+3990, 0) 2336 speedtest1_end_test(tls) 2337 2338 n = sz / 5 2339 speedtest1_begin_test(tls, 160, ts+3998, libc.VaList(bp+240, n)) 2340 speedtest1_exec(tls, ts+2913, 0) 2341 speedtest1_prepare(tls, 2342 ts+4035, libc.VaList(bp+248, n)) 2343 for i = 1; i <= n; i++ { 2344 if (i-1)%g.nRepeat == 0 { 2345 x1 = speedtest1_random(tls) % uint32(maxb) 2346 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2347 } 2348 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2349 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2350 speedtest1_run(tls) 2351 } 2352 speedtest1_exec(tls, ts+3023, 0) 2353 speedtest1_end_test(tls) 2354 2355 n = sz / 5 2356 speedtest1_begin_test(tls, 161, ts+4140, libc.VaList(bp+256, n)) 2357 speedtest1_exec(tls, ts+2913, 0) 2358 speedtest1_prepare(tls, 2359 ts+4172, libc.VaList(bp+264, n)) 2360 for i = 1; i <= n; i++ { 2361 if (i-1)%g.nRepeat == 0 { 2362 x1 = speedtest1_random(tls) % uint32(maxb) 2363 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2364 } 2365 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2366 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2367 speedtest1_run(tls) 2368 } 2369 speedtest1_exec(tls, ts+3023, 0) 2370 speedtest1_end_test(tls) 2371 2372 n = sz / 5 2373 speedtest1_begin_test(tls, 170, ts+4277, libc.VaList(bp+272, n)) 2374 speedtest1_exec(tls, ts+2913, 0) 2375 speedtest1_prepare(tls, 2376 ts+4311, libc.VaList(bp+280, n)) 2377 for i = 1; i <= n; i++ { 2378 if (i-1)%g.nRepeat == 0 { 2379 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2380 len = speedtest1_numbername(tls, x1, bp+568, int32(uint32(unsafe.Sizeof([2000]uint8{}))-uint32(1))) 2381 } 2382 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0)) 2383 speedtest1_run(tls) 2384 } 2385 speedtest1_exec(tls, ts+3023, 0) 2386 speedtest1_end_test(tls) 2387 2388 n = sz 2389 speedtest1_begin_test(tls, 180, ts+4423, libc.VaList(bp+288, n)) 2390 speedtest1_exec(tls, ts+2913, 0) 2391 speedtest1_exec(tls, 2392 ts+4453, 2393 libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2394 speedtest1_exec(tls, ts+4524, 0) 2395 speedtest1_exec(tls, ts+4550, 0) 2396 speedtest1_exec(tls, ts+4576, 0) 2397 speedtest1_exec(tls, ts+3023, 0) 2398 speedtest1_end_test(tls) 2399 2400 n = sz 2401 speedtest1_begin_test(tls, 190, ts+4608, libc.VaList(bp+344, n)) 2402 speedtest1_exec(tls, ts+4636, 0) 2403 speedtest1_exec(tls, ts+4652, 0) 2404 speedtest1_end_test(tls) 2405 2406 speedtest1_begin_test(tls, 200, ts+4685, 0) 2407 speedtest1_exec(tls, ts+4685, 0) 2408 speedtest1_end_test(tls) 2409 2410 speedtest1_begin_test(tls, 210, ts+4692, 0) 2411 speedtest1_exec(tls, ts+4726, 0) 2412 speedtest1_exec(tls, ts+4770, 0) 2413 speedtest1_end_test(tls) 2414 2415 n = sz / 5 2416 speedtest1_begin_test(tls, 230, ts+4792, libc.VaList(bp+352, n)) 2417 speedtest1_exec(tls, ts+2913, 0) 2418 speedtest1_prepare(tls, 2419 ts+4829, libc.VaList(bp+360, n)) 2420 for i = 1; i <= n; i++ { 2421 x1 = speedtest1_random(tls) % uint32(maxb) 2422 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2423 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2424 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2425 speedtest1_run(tls) 2426 } 2427 speedtest1_exec(tls, ts+3023, 0) 2428 speedtest1_end_test(tls) 2429 2430 n = sz 2431 speedtest1_begin_test(tls, 240, ts+4888, libc.VaList(bp+368, n)) 2432 speedtest1_exec(tls, ts+2913, 0) 2433 speedtest1_prepare(tls, 2434 ts+4918, libc.VaList(bp+376, n)) 2435 for i = 1; i <= n; i++ { 2436 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2437 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2438 speedtest1_run(tls) 2439 } 2440 speedtest1_exec(tls, ts+3023, 0) 2441 speedtest1_end_test(tls) 2442 2443 speedtest1_begin_test(tls, 250, ts+4962, libc.VaList(bp+384, sz)) 2444 speedtest1_exec(tls, ts+5003, 0) 2445 speedtest1_end_test(tls) 2446 2447 speedtest1_begin_test(tls, 260, ts+5023, 0) 2448 speedtest1_exec(tls, ts+4770, 0) 2449 speedtest1_end_test(tls) 2450 2451 n = sz / 5 2452 speedtest1_begin_test(tls, 270, ts+5056, libc.VaList(bp+392, n)) 2453 speedtest1_exec(tls, ts+2913, 0) 2454 speedtest1_prepare(tls, 2455 ts+5093, libc.VaList(bp+400, n)) 2456 for i = 1; i <= n; i++ { 2457 x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1) 2458 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2459 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2460 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2461 speedtest1_run(tls) 2462 } 2463 speedtest1_exec(tls, ts+3023, 0) 2464 speedtest1_end_test(tls) 2465 2466 n = sz 2467 speedtest1_begin_test(tls, 280, ts+5147, libc.VaList(bp+408, n)) 2468 speedtest1_exec(tls, ts+2913, 0) 2469 speedtest1_prepare(tls, 2470 ts+5177, libc.VaList(bp+416, n)) 2471 for i = 1; i <= n; i++ { 2472 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2473 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2474 speedtest1_run(tls) 2475 } 2476 speedtest1_exec(tls, ts+3023, 0) 2477 speedtest1_end_test(tls) 2478 2479 speedtest1_begin_test(tls, 290, ts+5216, libc.VaList(bp+424, sz)) 2480 speedtest1_exec(tls, ts+5255, 0) 2481 speedtest1_exec(tls, ts+5299, 0) 2482 speedtest1_end_test(tls) 2483 2484 speedtest1_begin_test(tls, 300, ts+5343, libc.VaList(bp+432, sz)) 2485 speedtest1_exec(tls, ts+4636, 0) 2486 speedtest1_exec(tls, 2487 ts+5384, 0) 2488 speedtest1_exec(tls, 2489 ts+5449, 0) 2490 speedtest1_end_test(tls) 2491 2492 n = sz / 5 2493 speedtest1_begin_test(tls, 310, ts+5514, libc.VaList(bp+440, n)) 2494 speedtest1_exec(tls, ts+2913, 0) 2495 speedtest1_prepare(tls, 2496 ts+5533, 0) 2497 for i = 1; i <= n; i++ { 2498 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2499 x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4) 2500 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2501 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2502 speedtest1_run(tls) 2503 } 2504 speedtest1_exec(tls, ts+3023, 0) 2505 speedtest1_end_test(tls) 2506 2507 speedtest1_begin_test(tls, 320, ts+5646, libc.VaList(bp+448, n)) 2508 speedtest1_prepare(tls, 2509 ts+5669, 0) 2510 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50) 2511 speedtest1_run(tls) 2512 speedtest1_end_test(tls) 2513 2514 sz = libc.AssignInt32(&n, g.szTest*700) 2515 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0) 2516 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2517 speedtest1_begin_test(tls, 400, ts+5787, libc.VaList(bp+456, n)) 2518 speedtest1_exec(tls, ts+2913, 0) 2519 speedtest1_exec(tls, ts+5812, 2520 libc.VaList(bp+464, isTemp(tls, 9), g.zNN)) 2521 speedtest1_prepare(tls, ts+5860, libc.VaList(bp+480, n)) 2522 for i = 1; i <= n; i++ { 2523 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2524 speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2525 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2526 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0)) 2527 speedtest1_run(tls) 2528 } 2529 speedtest1_exec(tls, ts+3023, 0) 2530 speedtest1_end_test(tls) 2531 speedtest1_begin_test(tls, 410, ts+5904, libc.VaList(bp+488, n)) 2532 speedtest1_prepare(tls, ts+5925, libc.VaList(bp+496, n)) 2533 for i = 1; i <= n; i++ { 2534 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2535 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2536 speedtest1_run(tls) 2537 } 2538 speedtest1_end_test(tls) 2539 2540 sz = libc.AssignInt32(&n, g.szTest*700) 2541 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0) 2542 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2543 speedtest1_begin_test(tls, 500, ts+5967, libc.VaList(bp+504, n)) 2544 speedtest1_exec(tls, ts+2913, 0) 2545 speedtest1_exec(tls, ts+5989, 2546 libc.VaList(bp+512, isTemp(tls, 9), g.zNN, 2547 func() uintptr { 2548 if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 { 2549 return ts + 6036 2550 } 2551 return ts + 2269 2552 }())) 2553 speedtest1_prepare(tls, ts+6050, libc.VaList(bp+536, n)) 2554 for i = 1; i <= n; i++ { 2555 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2556 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2557 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2558 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2559 speedtest1_run(tls) 2560 } 2561 speedtest1_exec(tls, ts+3023, 0) 2562 speedtest1_end_test(tls) 2563 speedtest1_begin_test(tls, 510, ts+6094, libc.VaList(bp+544, n)) 2564 speedtest1_prepare(tls, ts+6118, libc.VaList(bp+552, n)) 2565 for i = 1; i <= n; i++ { 2566 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2567 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2568 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2569 speedtest1_run(tls) 2570 } 2571 speedtest1_end_test(tls) 2572 speedtest1_begin_test(tls, 520, ts+6160, libc.VaList(bp+560, n)) 2573 speedtest1_exec(tls, ts+6179, 0) 2574 speedtest1_exec(tls, ts+6206, 0) 2575 speedtest1_end_test(tls) 2576 2577 speedtest1_begin_test(tls, 980, ts+6233, 0) 2578 speedtest1_exec(tls, ts+6233, 0) 2579 speedtest1_end_test(tls) 2580 2581 speedtest1_begin_test(tls, 990, ts+6256, 0) 2582 speedtest1_exec(tls, ts+6256, 0) 2583 speedtest1_end_test(tls) 2584 } 2585 2586 func testset_cte(tls *libc.TLS) { 2587 bp := tls.Alloc(32) 2588 defer tls.Free(32) 2589 2590 var zPuz uintptr 2591 var rSpacing float64 2592 var nElem int32 2593 2594 if g.szTest < 25 { 2595 zPuz = azPuzzle[0] 2596 } else if g.szTest < 70 { 2597 zPuz = azPuzzle[1] 2598 } else { 2599 zPuz = azPuzzle[2] 2600 } 2601 speedtest1_begin_test(tls, 100, ts+6264, 0) 2602 speedtest1_prepare(tls, 2603 ts+6295, 0) 2604 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2605 speedtest1_run(tls) 2606 speedtest1_end_test(tls) 2607 2608 speedtest1_begin_test(tls, 200, ts+7099, 0) 2609 speedtest1_prepare(tls, 2610 ts+7127, 0) 2611 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2612 speedtest1_run(tls) 2613 speedtest1_end_test(tls) 2614 2615 rSpacing = 5.0 / float64(g.szTest) 2616 speedtest1_begin_test(tls, 300, ts+7939, libc.VaList(bp, rSpacing)) 2617 speedtest1_prepare(tls, 2618 ts+7970, 0) 2619 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05) 2620 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing) 2621 speedtest1_run(tls) 2622 speedtest1_end_test(tls) 2623 2624 nElem = 10000 * g.szTest 2625 speedtest1_begin_test(tls, 400, ts+8566, libc.VaList(bp+8, nElem)) 2626 speedtest1_prepare(tls, 2627 ts+8603, 2628 libc.VaList(bp+16, nElem, nElem)) 2629 speedtest1_run(tls) 2630 speedtest1_end_test(tls) 2631 } 2632 2633 var azPuzzle = [3]uintptr{ 2634 ts + 8834, 2635 ts + 8916, 2636 ts + 8998, 2637 } 2638 2639 func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) { 2640 bp := tls.Alloc(24) 2641 defer tls.Free(24) 2642 2643 var x int32 = int32(speedtest1_random(tls)) 2644 var y int32 = int32(speedtest1_random(tls)) 2645 var z int32 2646 z = y % 10 2647 if z < 0 { 2648 z = -z 2649 } 2650 y = y / 10 2651 sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9080, libc.VaList(bp, y, z, x%200)) 2652 } 2653 2654 func testset_fp(tls *libc.TLS) { 2655 bp := tls.Alloc(272) 2656 defer tls.Free(272) 2657 2658 var n int32 2659 var i int32 2660 2661 n = g.szTest * 5000 2662 speedtest1_begin_test(tls, 100, ts+9089, libc.VaList(bp, n*2)) 2663 speedtest1_exec(tls, ts+2913, 0) 2664 speedtest1_exec(tls, ts+9120, 2665 libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN)) 2666 speedtest1_prepare(tls, ts+9161, libc.VaList(bp+32, n)) 2667 for i = 1; i <= n; i++ { 2668 speedtest1_random_ascii_fp(tls, bp+72) 2669 speedtest1_random_ascii_fp(tls, bp+172) 2670 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2671 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2672 speedtest1_run(tls) 2673 } 2674 speedtest1_exec(tls, ts+3023, 0) 2675 speedtest1_end_test(tls) 2676 2677 n = g.szTest/25 + 2 2678 speedtest1_begin_test(tls, 110, ts+9203, libc.VaList(bp+40, n)) 2679 speedtest1_prepare(tls, ts+9220, 0) 2680 for i = 1; i <= n; i++ { 2681 speedtest1_random_ascii_fp(tls, bp+72) 2682 speedtest1_random_ascii_fp(tls, bp+172) 2683 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2684 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2685 speedtest1_run(tls) 2686 } 2687 speedtest1_end_test(tls) 2688 2689 speedtest1_begin_test(tls, 120, ts+9268, 0) 2690 speedtest1_exec(tls, ts+3826, 0) 2691 speedtest1_exec(tls, ts+9293, 0) 2692 speedtest1_exec(tls, ts+9320, 0) 2693 speedtest1_exec(tls, ts+9347, 0) 2694 speedtest1_exec(tls, ts+3990, 0) 2695 speedtest1_end_test(tls) 2696 2697 n = g.szTest/3 + 2 2698 speedtest1_begin_test(tls, 130, ts+9377, libc.VaList(bp+48, n)) 2699 speedtest1_prepare(tls, ts+9220, 0) 2700 for i = 1; i <= n; i++ { 2701 speedtest1_random_ascii_fp(tls, bp+72) 2702 speedtest1_random_ascii_fp(tls, bp+172) 2703 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2704 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2705 speedtest1_run(tls) 2706 } 2707 speedtest1_end_test(tls) 2708 2709 n = g.szTest * 5000 2710 speedtest1_begin_test(tls, 140, ts+9402, libc.VaList(bp+56, n)) 2711 speedtest1_exec(tls, ts+9422, 0) 2712 speedtest1_end_test(tls) 2713 2714 speedtest1_begin_test(tls, 150, ts+9465, libc.VaList(bp+64, n*4)) 2715 speedtest1_exec(tls, 2716 ts+9483, 0) 2717 speedtest1_end_test(tls) 2718 } 2719 2720 func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) { 2721 var d uint32 2722 var x0 uint32 2723 var x1 uint32 2724 var span uint32 2725 2726 span = mx/uint32(100) + uint32(1) 2727 if speedtest1_random(tls)%uint32(3) == uint32(0) { 2728 span = span * uint32(p1) 2729 } 2730 if speedtest1_random(tls)%uint32(p2) == uint32(0) { 2731 span = mx / uint32(2) 2732 } 2733 d = speedtest1_random(tls)%span + uint32(1) 2734 x0 = speedtest1_random(tls)%(mx-d) + uint32(1) 2735 x1 = x0 + d 2736 *(*uint32)(unsafe.Pointer(pX0)) = x0 2737 *(*uint32)(unsafe.Pointer(pX1)) = x1 2738 } 2739 2740 func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 { 2741 *(*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))) 2742 return SQLITE_OK 2743 } 2744 2745 func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { 2746 bp := tls.Alloc(224) 2747 defer tls.Free(224) 2748 2749 var i uint32 2750 var n uint32 2751 var mxCoord uint32 2752 2753 var iStep uint32 2754 var mxRowid uint32 2755 var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint32(unsafe.Sizeof(int32(0)))*uint32(g.szTest)*uint32(500))) 2756 2757 mxCoord = uint32(15000) 2758 mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500)) 2759 speedtest1_begin_test(tls, 100, ts+9578, libc.VaList(bp, n)) 2760 speedtest1_exec(tls, ts+2913, 0) 2761 speedtest1_exec(tls, ts+9604, 0) 2762 speedtest1_prepare(tls, 2763 ts+9663, 0) 2764 for i = uint32(1); i <= n; i++ { 2765 twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204) 2766 twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212) 2767 twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220) 2768 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2769 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200)))) 2770 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204)))) 2771 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208)))) 2772 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212)))) 2773 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216)))) 2774 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220)))) 2775 speedtest1_run(tls) 2776 } 2777 speedtest1_exec(tls, ts+3023, 0) 2778 speedtest1_end_test(tls) 2779 2780 speedtest1_begin_test(tls, 101, ts+9729, 0) 2781 speedtest1_exec(tls, ts+9764, 0) 2782 speedtest1_exec(tls, ts+9822, 0) 2783 speedtest1_end_test(tls) 2784 2785 n = uint32(g.szTest * 200) 2786 speedtest1_begin_test(tls, 110, ts+9855, libc.VaList(bp+8, n)) 2787 speedtest1_prepare(tls, ts+9898, 0) 2788 iStep = mxCoord / n 2789 for i = uint32(0); i < n; i++ { 2790 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2791 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2792 speedtest1_run(tls) 2793 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2794 } 2795 speedtest1_end_test(tls) 2796 2797 if g.bVerify != 0 { 2798 n = uint32(g.szTest * 200) 2799 speedtest1_begin_test(tls, 111, ts+9947, 0) 2800 speedtest1_prepare(tls, ts+9994, 0) 2801 iStep = mxCoord / n 2802 for i = uint32(0); i < n; i++ { 2803 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2804 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2805 speedtest1_run(tls) 2806 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) { 2807 fatal_error(tls, ts+10042, 2808 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))) 2809 } 2810 } 2811 speedtest1_end_test(tls) 2812 } 2813 2814 n = uint32(g.szTest * 200) 2815 speedtest1_begin_test(tls, 120, ts+10084, libc.VaList(bp+56, n)) 2816 speedtest1_prepare(tls, ts+10125, 0) 2817 iStep = mxCoord / n 2818 for i = uint32(0); i < n; i++ { 2819 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2820 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2821 speedtest1_run(tls) 2822 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2823 } 2824 speedtest1_end_test(tls) 2825 2826 if g.bVerify != 0 { 2827 n = uint32(g.szTest * 200) 2828 speedtest1_begin_test(tls, 121, ts+10174, 0) 2829 speedtest1_prepare(tls, ts+10219, 0) 2830 iStep = mxCoord / n 2831 for i = uint32(0); i < n; i++ { 2832 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2833 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2834 speedtest1_run(tls) 2835 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) { 2836 fatal_error(tls, ts+10042, 2837 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))) 2838 } 2839 } 2840 speedtest1_end_test(tls) 2841 } 2842 2843 n = uint32(g.szTest * 200) 2844 speedtest1_begin_test(tls, 125, ts+10267, libc.VaList(bp+104, n)) 2845 sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10303, *(*uintptr)(unsafe.Pointer(&struct { 2846 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2847 }{xsliceGeometryCallback})), uintptr(0)) 2848 speedtest1_prepare(tls, ts+10310, 0) 2849 iStep = mxCoord / n 2850 for i = uint32(0); i < n; i++ { 2851 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2852 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2853 speedtest1_run(tls) 2854 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) { 2855 fatal_error(tls, ts+10042, 2856 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))) 2857 } 2858 } 2859 speedtest1_end_test(tls) 2860 2861 n = uint32(g.szTest * 400) 2862 speedtest1_begin_test(tls, 130, ts+10364, libc.VaList(bp+152, n)) 2863 speedtest1_prepare(tls, 2864 ts+10407, 0) 2865 iStep = mxCoord / n 2866 for i = uint32(0); i < n; i++ { 2867 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2868 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2869 speedtest1_run(tls) 2870 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2871 } 2872 speedtest1_end_test(tls) 2873 2874 n = uint32(g.szTest * 500) 2875 speedtest1_begin_test(tls, 140, ts+10500, libc.VaList(bp+160, n)) 2876 speedtest1_prepare(tls, ts+10517, 0) 2877 for i = uint32(1); i <= n; i++ { 2878 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2879 speedtest1_run(tls) 2880 } 2881 speedtest1_end_test(tls) 2882 2883 n = uint32(g.szTest * 50) 2884 speedtest1_begin_test(tls, 150, ts+10547, libc.VaList(bp+168, n)) 2885 speedtest1_prepare(tls, ts+10570, 0) 2886 for i = uint32(1); i <= n; i++ { 2887 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1))) 2888 speedtest1_run(tls) 2889 } 2890 speedtest1_end_test(tls) 2891 2892 n = uint32(g.szTest * 5) 2893 speedtest1_begin_test(tls, 155, ts+10618, libc.VaList(bp+176, n)) 2894 speedtest1_prepare(tls, 2895 ts+10659, 0) 2896 iStep = mxCoord / n 2897 for i = uint32(0); i < n; i++ { 2898 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2899 speedtest1_run(tls) 2900 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2901 } 2902 speedtest1_end_test(tls) 2903 2904 n = uint32(g.szTest * 50) 2905 speedtest1_begin_test(tls, 160, ts+10721, libc.VaList(bp+184, n)) 2906 speedtest1_prepare(tls, ts+10744, 0) 2907 for i = uint32(1); i <= n; i++ { 2908 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1))) 2909 speedtest1_run(tls) 2910 } 2911 speedtest1_end_test(tls) 2912 2913 n = uint32(g.szTest * 5) 2914 speedtest1_begin_test(tls, 165, ts+10772, libc.VaList(bp+192, n)) 2915 speedtest1_prepare(tls, ts+10813, 0) 2916 iStep = mxCoord / n 2917 for i = uint32(0); i < n; i++ { 2918 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2919 speedtest1_run(tls) 2920 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+100) 2921 } 2922 speedtest1_end_test(tls) 2923 2924 speedtest1_begin_test(tls, 170, ts+10855, 0) 2925 speedtest1_exec(tls, ts+10902, 0) 2926 speedtest1_end_test(tls) 2927 } 2928 2929 func testset_orm(tls *libc.TLS) { 2930 bp := tls.Alloc(2016) 2931 defer tls.Free(2016) 2932 2933 var i uint32 2934 var j uint32 2935 var n uint32 2936 var nRow uint32 2937 var x1 uint32 2938 var len uint32 2939 2940 nRow = libc.AssignUint32(&n, uint32(g.szTest*250)) 2941 speedtest1_begin_test(tls, 100, ts+10945, libc.VaList(bp, n)) 2942 speedtest1_exec(tls, 2943 ts+10958, 0) 2944 speedtest1_prepare(tls, 2945 ts+14858, 0) 2946 for i = uint32(0); i < n; i++ { 2947 x1 = speedtest1_random(tls) 2948 speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]uint8{}))) 2949 len = uint32(int32(libc.Xstrlen(tls, bp+16))) 2950 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf))) 2951 for j = uint32(0); zType[j] != 0; j++ { 2952 switch int32(zType[j]) { 2953 case 'I': 2954 fallthrough 2955 case 'T': 2956 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1)) 2957 break 2958 case 'F': 2959 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1)) 2960 break 2961 case 'V': 2962 fallthrough 2963 case 'B': 2964 sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len), 2965 uintptr(0), uint8(SQLITE_UTF8)) 2966 break 2967 } 2968 } 2969 speedtest1_run(tls) 2970 } 2971 speedtest1_exec(tls, ts+3990, 0) 2972 speedtest1_end_test(tls) 2973 2974 n = uint32(g.szTest * 250) 2975 speedtest1_begin_test(tls, 110, ts+18102, libc.VaList(bp+8, n)) 2976 speedtest1_prepare(tls, 2977 ts+18125, 0) 2978 for i = uint32(0); i < n; i++ { 2979 x1 = speedtest1_random(tls) % nRow 2980 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2981 speedtest1_run(tls) 2982 } 2983 speedtest1_end_test(tls) 2984 } 2985 2986 var zType = *(*[120]uint8)(unsafe.Pointer(ts + 20878)) 2987 2988 func testset_trigger(tls *libc.TLS) { 2989 bp := tls.Alloc(2032) 2990 defer tls.Free(2032) 2991 2992 var jj int32 2993 var ii int32 2994 2995 var NROW int32 = 500 * g.szTest 2996 var NROW2 int32 = 100 * g.szTest 2997 2998 speedtest1_exec(tls, 2999 ts+20998, 0) 3000 for jj = 1; jj <= 3; jj++ { 3001 speedtest1_prepare(tls, ts+21326, libc.VaList(bp, jj)) 3002 for ii = 0; ii < NROW; ii++ { 3003 var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW)) 3004 speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3005 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1) 3006 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3007 speedtest1_run(tls) 3008 } 3009 } 3010 speedtest1_exec(tls, 3011 ts+21361, 0) 3012 3013 speedtest1_begin_test(tls, 100, ts+21444, 0) 3014 speedtest1_prepare(tls, 3015 ts+21458, 0) 3016 speedtest1_run(tls) 3017 speedtest1_end_test(tls) 3018 3019 speedtest1_begin_test(tls, 110, ts+21525, 0) 3020 speedtest1_prepare(tls, 3021 ts+21539, 0) 3022 speedtest1_run(tls) 3023 speedtest1_end_test(tls) 3024 3025 speedtest1_begin_test(tls, 120, ts+21598, 0) 3026 for jj = 1; jj <= 3; jj++ { 3027 speedtest1_prepare(tls, ts+21612, libc.VaList(bp+8, jj)) 3028 for ii = 0; ii < NROW2; ii = ii + 3 { 3029 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3030 speedtest1_run(tls) 3031 } 3032 } 3033 speedtest1_end_test(tls) 3034 3035 speedtest1_begin_test(tls, 130, ts+21646, 0) 3036 for jj = 1; jj <= 3; jj++ { 3037 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+16, jj)) 3038 for ii = 0; ii < NROW2; ii = ii + 3 { 3039 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3040 speedtest1_run(tls) 3041 } 3042 } 3043 speedtest1_end_test(tls) 3044 3045 speedtest1_begin_test(tls, 140, ts+21646, 0) 3046 for jj = 1; jj <= 3; jj++ { 3047 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+24, jj)) 3048 for ii = 0; ii < NROW2; ii = ii + 3 { 3049 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3050 speedtest1_run(tls) 3051 } 3052 } 3053 speedtest1_end_test(tls) 3054 3055 speedtest1_begin_test(tls, 150, ts+21695, 0) 3056 speedtest1_prepare(tls, 3057 ts+21714, 0) 3058 for jj = 0; jj < NROW2; jj++ { 3059 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3) 3060 speedtest1_run(tls) 3061 } 3062 speedtest1_end_test(tls) 3063 3064 speedtest1_begin_test(tls, 160, ts+21829, 0) 3065 speedtest1_exec(tls, ts+2913, 0) 3066 speedtest1_prepare(tls, ts+21850, 0) 3067 for jj = 0; jj < NROW2; jj++ { 3068 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3069 speedtest1_run(tls) 3070 } 3071 speedtest1_exec(tls, ts+3023, 0) 3072 speedtest1_end_test(tls) 3073 3074 speedtest1_exec(tls, ts+21885, 0) 3075 speedtest1_begin_test(tls, 170, ts+21933, 0) 3076 speedtest1_exec(tls, ts+21955, 0) 3077 speedtest1_end_test(tls) 3078 3079 speedtest1_exec(tls, 3080 ts+22000, 0) 3081 3082 speedtest1_begin_test(tls, 180, ts+22490, 0) 3083 speedtest1_prepare(tls, ts+22507, 0) 3084 for jj = 0; jj < NROW2; jj++ { 3085 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3086 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3087 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3088 speedtest1_run(tls) 3089 } 3090 speedtest1_end_test(tls) 3091 3092 speedtest1_begin_test(tls, 190, ts+22543, 0) 3093 speedtest1_prepare(tls, ts+22560, 0) 3094 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3095 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3096 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3097 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3098 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 3099 speedtest1_run(tls) 3100 } 3101 speedtest1_end_test(tls) 3102 3103 speedtest1_begin_test(tls, 200, ts+22606, 0) 3104 speedtest1_prepare(tls, ts+22623, 0) 3105 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3106 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3107 speedtest1_run(tls) 3108 } 3109 speedtest1_end_test(tls) 3110 speedtest1_exec(tls, ts+3023, 0) 3111 3112 speedtest1_exec(tls, 3113 ts+22655, 0) 3114 speedtest1_begin_test(tls, 210, ts+22760, 0) 3115 speedtest1_prepare(tls, ts+22507, 0) 3116 for jj = 0; jj < NROW2; jj++ { 3117 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3118 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3119 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3120 speedtest1_run(tls) 3121 } 3122 speedtest1_end_test(tls) 3123 speedtest1_begin_test(tls, 210, ts+22779, 0) 3124 speedtest1_prepare(tls, ts+22560, 0) 3125 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3126 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3127 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3128 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3129 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 3130 speedtest1_run(tls) 3131 } 3132 speedtest1_end_test(tls) 3133 speedtest1_begin_test(tls, 220, ts+22798, 0) 3134 speedtest1_prepare(tls, ts+22623, 0) 3135 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3136 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3137 speedtest1_run(tls) 3138 } 3139 speedtest1_end_test(tls) 3140 speedtest1_exec(tls, ts+3023, 0) 3141 } 3142 3143 func testset_debug1(tls *libc.TLS) { 3144 bp := tls.Alloc(2032) 3145 defer tls.Free(2032) 3146 3147 var i uint32 3148 var n uint32 3149 var x1 uint32 3150 var x2 uint32 3151 3152 n = uint32(g.szTest) 3153 for i = uint32(1); i <= n; i++ { 3154 x1 = swizzle(tls, i, n) 3155 x2 = swizzle(tls, x1, n) 3156 speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3157 libc.Xprintf(tls, ts+22817, libc.VaList(bp, i, x1, x2, bp+32)) 3158 } 3159 } 3160 3161 func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 { 3162 bp := tls.Alloc(8) 3163 defer tls.Free(8) 3164 3165 libc.Xprintf(tls, ts+22833, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal)))) 3166 return SQLITE_OK 3167 } 3168 3169 func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { 3170 bp := tls.Alloc(576) 3171 defer tls.Free(576) 3172 3173 var doAutovac int32 = 0 3174 var cacheSize int32 = 0 3175 var doExclusive int32 = 0 3176 var nHeap int32 = 0 3177 var mnHeap int32 = 0 3178 var doIncrvac int32 = 0 3179 var zJMode uintptr = uintptr(0) 3180 var zKey uintptr = uintptr(0) 3181 var nLook int32 = -1 3182 var szLook int32 = 0 3183 var noSync int32 = 0 3184 var pageSize int32 = 0 3185 var nPCache int32 = 0 3186 var szPCache int32 = 0 3187 var doPCache int32 = 0 3188 var showStats int32 = 0 3189 var nThread int32 = 0 3190 var mmapSize int32 = 0 3191 var memDb int32 = 0 3192 var zTSet uintptr = ts + 22856 3193 var doTrace int32 = 0 3194 var zEncoding uintptr = uintptr(0) 3195 var zDbName uintptr = uintptr(0) 3196 3197 var pHeap uintptr = uintptr(0) 3198 var pLook uintptr = uintptr(0) 3199 var pPCache uintptr = uintptr(0) 3200 3201 var i int32 3202 var rc int32 3203 3204 libc.Xprintf(tls, ts+22861, 3205 libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls))) 3206 3207 g.zWR = ts + 2269 3208 g.zNN = ts + 2269 3209 g.zPK = ts + 22896 3210 g.szTest = 100 3211 g.nRepeat = 1 3212 for i = 1; i < argc; i++ { 3213 var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)) 3214 if int32(*(*uint8)(unsafe.Pointer(z))) == '-' { 3215 for __ccgo := true; __ccgo; __ccgo = int32(*(*uint8)(unsafe.Pointer(z))) == '-' { 3216 z++ 3217 } 3218 if libc.Xstrcmp(tls, z, ts+22903) == 0 { 3219 doAutovac = 1 3220 } else if libc.Xstrcmp(tls, z, ts+22914) == 0 { 3221 if i >= argc-1 { 3222 fatal_error(tls, ts+22924, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3223 } 3224 i++ 3225 cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) 3226 } else if libc.Xstrcmp(tls, z, ts+22948) == 0 { 3227 doExclusive = 1 3228 } else if libc.Xstrcmp(tls, z, ts+22958) == 0 { 3229 g.doCheckpoint = 1 3230 } else if libc.Xstrcmp(tls, z, ts+22969) == 0 { 3231 g.bSqlOnly = 1 3232 g.bExplain = 1 3233 } else if libc.Xstrcmp(tls, z, ts+22977) == 0 { 3234 if i >= argc-2 { 3235 fatal_error(tls, ts+22982, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3236 } 3237 nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3238 mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*4))) 3239 i = i + 2 3240 } else if libc.Xstrcmp(tls, z, ts+23007) == 0 { 3241 doIncrvac = 1 3242 } else if libc.Xstrcmp(tls, z, ts+23018) == 0 { 3243 if i >= argc-1 { 3244 fatal_error(tls, ts+22924, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3245 } 3246 zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4)) 3247 } else if libc.Xstrcmp(tls, z, ts+23026) == 0 { 3248 if i >= argc-1 { 3249 fatal_error(tls, ts+22924, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3250 } 3251 zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4)) 3252 } else if libc.Xstrcmp(tls, z, ts+23030) == 0 { 3253 if i >= argc-2 { 3254 fatal_error(tls, ts+22982, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3255 } 3256 nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3257 szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*4))) 3258 i = i + 2 3259 } else if libc.Xstrcmp(tls, z, ts+23040) == 0 { 3260 memDb = 1 3261 } else if libc.Xstrcmp(tls, z, ts+23046) == 0 { 3262 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0) 3263 } else if libc.Xstrcmp(tls, z, ts+23058) == 0 { 3264 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0)) 3265 } else if libc.Xstrcmp(tls, z, ts+23068) == 0 { 3266 if i >= argc-1 { 3267 fatal_error(tls, ts+22924, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3268 } 3269 mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3270 } else if libc.Xstrcmp(tls, z, ts+23073) == 0 { 3271 noSync = 1 3272 } else if libc.Xstrcmp(tls, z, ts+23080) == 0 { 3273 g.zNN = ts + 23088 3274 } else if libc.Xstrcmp(tls, z, ts+23097) == 0 { 3275 if i >= argc-1 { 3276 fatal_error(tls, ts+22924, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3277 } 3278 i++ 3279 if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ts+23104) == 0 { 3280 g.hashFile = libc.X__stdoutp 3281 } else { 3282 g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ts+23106) 3283 if g.hashFile == uintptr(0) { 3284 fatal_error(tls, ts+23109, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3285 } 3286 } 3287 } else if libc.Xstrcmp(tls, z, ts+23139) == 0 { 3288 if i >= argc-1 { 3289 fatal_error(tls, ts+22924, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3290 } 3291 pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3292 } else if libc.Xstrcmp(tls, z, ts+23148) == 0 { 3293 if i >= argc-2 { 3294 fatal_error(tls, ts+22982, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3295 } 3296 nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3297 szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*4))) 3298 doPCache = 1 3299 i = i + 2 3300 } else if libc.Xstrcmp(tls, z, ts+23155) == 0 { 3301 g.zPK = ts + 23166 3302 } else if libc.Xstrcmp(tls, z, ts+23178) == 0 { 3303 if i >= argc-1 { 3304 fatal_error(tls, ts+22982, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3305 } 3306 g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*4))) 3307 i = i + 1 3308 } else if libc.Xstrcmp(tls, z, ts+23185) == 0 { 3309 g.bReprepare = 1 3310 } else if libc.Xstrcmp(tls, z, ts+23195) == 0 { 3311 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0) 3312 } else if libc.Xstrcmp(tls, z, ts+23206) == 0 { 3313 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0) 3314 } else if libc.Xstrcmp(tls, z, ts+23219) == 0 { 3315 g.bSqlOnly = 1 3316 } else if libc.Xstrcmp(tls, z, ts+23227) == 0 { 3317 g.bMemShrink = 1 3318 } else if libc.Xstrcmp(tls, z, ts+23241) == 0 { 3319 if i >= argc-1 { 3320 fatal_error(tls, ts+22924, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3321 } 3322 g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3323 } else if libc.Xstrcmp(tls, z, ts+23246) == 0 { 3324 showStats = 1 3325 } else if libc.Xstrcmp(tls, z, ts+23252) == 0 { 3326 if i >= argc-1 { 3327 fatal_error(tls, ts+22924, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3328 } 3329 i++ 3330 if int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))) < '0' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))) > '9' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)) + 1))) != 0 { 3331 fatal_error(tls, ts+23257, 0) 3332 } 3333 g.eTemp = int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))) - '0' 3334 } else if libc.Xstrcmp(tls, z, ts+23310) == 0 { 3335 if i >= argc-1 { 3336 fatal_error(tls, ts+22924, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3337 } 3338 zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4)) 3339 } else if libc.Xstrcmp(tls, z, ts+23318) == 0 { 3340 doTrace = 1 3341 } else if libc.Xstrcmp(tls, z, ts+23324) == 0 { 3342 if i >= argc-1 { 3343 fatal_error(tls, ts+22924, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3344 } 3345 nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3346 } else if libc.Xstrcmp(tls, z, ts+23332) == 0 { 3347 zEncoding = ts + 23332 3348 } else if libc.Xstrcmp(tls, z, ts+23340) == 0 { 3349 zEncoding = ts + 23340 3350 } else if libc.Xstrcmp(tls, z, ts+23348) == 0 { 3351 g.bVerify = 1 3352 HashInit(tls) 3353 } else if libc.Xstrcmp(tls, z, ts+23355) == 0 { 3354 if i >= argc-1 { 3355 fatal_error(tls, ts+22924, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 3356 } 3357 g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*4))) 3358 } else if libc.Xstrcmp(tls, z, ts+23363) == 0 { 3359 if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) { 3360 } else if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) { 3361 g.zWR = ts + 23392 3362 } else { 3363 g.zWR = ts + 6036 3364 } 3365 g.zPK = ts + 23166 3366 } else if libc.Xstrcmp(tls, z, ts+23413) == 0 { 3367 if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) { 3368 } else if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) { 3369 g.zWR = ts + 23392 3370 } else { 3371 g.zWR = ts + 23385 3372 } 3373 } else if libc.Xstrcmp(tls, z, ts+23420) == 0 || libc.Xstrcmp(tls, z, ts+23425) == 0 { 3374 libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv)))) 3375 libc.Xexit(tls, 0) 3376 } else { 3377 fatal_error(tls, ts+23427, 3378 libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer(argv)))) 3379 } 3380 } else if zDbName == uintptr(0) { 3381 zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)) 3382 } else { 3383 fatal_error(tls, ts+23468, 3384 libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer(argv)))) 3385 } 3386 } 3387 if zDbName != uintptr(0) { 3388 libc.Xunlink(tls, zDbName) 3389 } 3390 if nHeap > 0 { 3391 pHeap = libc.Xmalloc(tls, uint32(nHeap)) 3392 if pHeap == uintptr(0) { 3393 fatal_error(tls, ts+23511, libc.VaList(bp+192, nHeap)) 3394 } 3395 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap)) 3396 if rc != 0 { 3397 fatal_error(tls, ts+23541, libc.VaList(bp+224, rc)) 3398 } 3399 } 3400 if doPCache != 0 { 3401 if nPCache > 0 && szPCache > 0 { 3402 pPCache = libc.Xmalloc(tls, uint32(sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3403 if pPCache == uintptr(0) { 3404 fatal_error(tls, ts+23572, 3405 libc.VaList(bp+232, sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3406 } 3407 } 3408 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache)) 3409 if rc != 0 { 3410 fatal_error(tls, ts+23606, libc.VaList(bp+264, rc)) 3411 } 3412 } 3413 if nLook >= 0 { 3414 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0)) 3415 } 3416 sqlite3.Xsqlite3_initialize(tls) 3417 3418 if sqlite3.Xsqlite3_open(tls, func() uintptr { 3419 if memDb != 0 { 3420 return ts + 23639 3421 } 3422 return zDbName 3423 }(), uintptr(unsafe.Pointer(&g))) != 0 { 3424 fatal_error(tls, ts+23648, libc.VaList(bp+288, zDbName)) 3425 } 3426 if nLook > 0 && szLook > 0 { 3427 pLook = libc.Xmalloc(tls, uint32(nLook*szLook)) 3428 rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook)) 3429 if rc != 0 { 3430 fatal_error(tls, ts+23679, libc.VaList(bp+320, rc)) 3431 } 3432 } 3433 if g.nReserve > 0 { 3434 sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+64) 3435 } 3436 3437 sqlite3.Xsqlite3_create_function(tls, g.db, ts+23715, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { 3438 f func(*libc.TLS, uintptr, int32, uintptr) 3439 }{randomFunc})), uintptr(0), uintptr(0)) 3440 if doTrace != 0 { 3441 sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3442 f func(*libc.TLS, uintptr, uintptr) 3443 }{traceCallback})), uintptr(0)) 3444 } 3445 if memDb > 0 { 3446 speedtest1_exec(tls, ts+23722, 0) 3447 } 3448 if mmapSize > 0 { 3449 speedtest1_exec(tls, ts+23747, libc.VaList(bp+328, mmapSize)) 3450 } 3451 speedtest1_exec(tls, ts+23767, libc.VaList(bp+336, nThread)) 3452 if zKey != 0 { 3453 speedtest1_exec(tls, ts+23785, libc.VaList(bp+344, zKey)) 3454 } 3455 if zEncoding != 0 { 3456 speedtest1_exec(tls, ts+23802, libc.VaList(bp+352, zEncoding)) 3457 } 3458 if doAutovac != 0 { 3459 speedtest1_exec(tls, ts+23821, 0) 3460 } else if doIncrvac != 0 { 3461 speedtest1_exec(tls, ts+23845, 0) 3462 } 3463 if pageSize != 0 { 3464 speedtest1_exec(tls, ts+23876, libc.VaList(bp+360, pageSize)) 3465 } 3466 if cacheSize != 0 { 3467 speedtest1_exec(tls, ts+23896, libc.VaList(bp+368, cacheSize)) 3468 } 3469 if noSync != 0 { 3470 speedtest1_exec(tls, ts+23917, 0) 3471 } 3472 if doExclusive != 0 { 3473 speedtest1_exec(tls, ts+23940, 0) 3474 } 3475 if zJMode != 0 { 3476 speedtest1_exec(tls, ts+23970, libc.VaList(bp+376, zJMode)) 3477 } 3478 3479 if g.bExplain != 0 { 3480 libc.Xprintf(tls, ts+23993, 0) 3481 } 3482 for __ccgo1 := true; __ccgo1; __ccgo1 = *(*uint8)(unsafe.Pointer(zTSet)) != 0 { 3483 var zThisTest uintptr = zTSet 3484 var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',') 3485 if zComma != 0 { 3486 *(*uint8)(unsafe.Pointer(zComma)) = uint8(0) 3487 zTSet = zComma + uintptr(1) 3488 } else { 3489 zTSet = ts + 2269 3490 } 3491 if g.iTotal > int64(0) || zComma != uintptr(0) { 3492 libc.Xprintf(tls, ts+24012, libc.VaList(bp+384, zThisTest)) 3493 } 3494 if libc.Xstrcmp(tls, zThisTest, ts+22856) == 0 { 3495 testset_main(tls) 3496 } else if libc.Xstrcmp(tls, zThisTest, ts+24039) == 0 { 3497 testset_debug1(tls) 3498 } else if libc.Xstrcmp(tls, zThisTest, ts+24046) == 0 { 3499 testset_orm(tls) 3500 } else if libc.Xstrcmp(tls, zThisTest, ts+24050) == 0 { 3501 testset_cte(tls) 3502 } else if libc.Xstrcmp(tls, zThisTest, ts+24054) == 0 { 3503 testset_fp(tls) 3504 } else if libc.Xstrcmp(tls, zThisTest, ts+24057) == 0 { 3505 testset_trigger(tls) 3506 } else if libc.Xstrcmp(tls, zThisTest, ts+24065) == 0 { 3507 testset_rtree(tls, 6, 147) 3508 } else { 3509 fatal_error(tls, 3510 ts+24071, 3511 libc.VaList(bp+392, zThisTest)) 3512 } 3513 if *(*uint8)(unsafe.Pointer(zTSet)) != 0 { 3514 var zSql uintptr 3515 var zObj uintptr 3516 speedtest1_begin_test(tls, 999, ts+24140, 0) 3517 for 1 != 0 { 3518 zObj = speedtest1_once(tls, 3519 ts+24159, 0) 3520 if zObj == uintptr(0) { 3521 break 3522 } 3523 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+400, zObj)) 3524 speedtest1_exec(tls, zSql, 0) 3525 sqlite3.Xsqlite3_free(tls, zSql) 3526 sqlite3.Xsqlite3_free(tls, zObj) 3527 } 3528 for 1 != 0 { 3529 zObj = speedtest1_once(tls, 3530 ts+24250, 0) 3531 if zObj == uintptr(0) { 3532 break 3533 } 3534 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+408, zObj)) 3535 speedtest1_exec(tls, zSql, 0) 3536 sqlite3.Xsqlite3_free(tls, zSql) 3537 sqlite3.Xsqlite3_free(tls, zObj) 3538 } 3539 speedtest1_end_test(tls) 3540 } 3541 } 3542 speedtest1_final(tls) 3543 3544 if showStats != 0 { 3545 sqlite3.Xsqlite3_exec(tls, g.db, ts+24320, *(*uintptr)(unsafe.Pointer(&struct { 3546 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 3547 }{xCompileOptions})), uintptr(0), uintptr(0)) 3548 } 3549 3550 if showStats != 0 { 3551 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568, bp+572, 0) 3552 libc.Xprintf(tls, ts+24343, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3553 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568, bp+572, 0) 3554 libc.Xprintf(tls, ts+24388, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572)))) 3555 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568, bp+572, 0) 3556 libc.Xprintf(tls, ts+24424, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572)))) 3557 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568, bp+572, 0) 3558 libc.Xprintf(tls, ts+24460, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572)))) 3559 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568, bp+572, 0) 3560 libc.Xprintf(tls, ts+24496, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568)))) 3561 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568, bp+572, 1) 3562 libc.Xprintf(tls, ts+24538, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568)))) 3563 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568, bp+572, 1) 3564 libc.Xprintf(tls, ts+24574, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568)))) 3565 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568, bp+572, 1) 3566 libc.Xprintf(tls, ts+24610, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568)))) 3567 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568, bp+572, 0) 3568 libc.Xprintf(tls, ts+24646, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568)))) 3569 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568, bp+572, 0) 3570 libc.Xprintf(tls, ts+24688, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568)))) 3571 } 3572 3573 sqlite3.Xsqlite3_close(tls, g.db) 3574 3575 if showStats != 0 { 3576 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568, bp+572, 0) 3577 libc.Xprintf(tls, ts+24730, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3578 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568, bp+572, 0) 3579 libc.Xprintf(tls, ts+24775, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3580 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568, bp+572, 0) 3581 libc.Xprintf(tls, ts+24820, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3582 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568, bp+572, 0) 3583 libc.Xprintf(tls, ts+24865, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572)))) 3584 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568, bp+572, 0) 3585 libc.Xprintf(tls, ts+24907, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572)))) 3586 } 3587 3588 libc.Xfree(tls, pLook) 3589 libc.Xfree(tls, pPCache) 3590 libc.Xfree(tls, pHeap) 3591 return 0 3592 } 3593 3594 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" 3595 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data