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