gitlab.com/CoiaPrant/sqlite3@v1.19.1/speedtest1/main_windows_arm64.go (about) 1 // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_windows_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_WIN=1 -D_MSC_VER=1900', 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 BUFSIZ = 512 27 CHAR_BIT = 8 28 CHAR_MAX = 127 29 CHAR_MIN = -128 30 EOF = -1 31 EXIT_FAILURE = 1 32 EXIT_SUCCESS = 0 33 FILENAME_MAX = 260 34 FOPEN_MAX = 20 35 FTS5_TOKENIZE_AUX = 0x0008 36 FTS5_TOKENIZE_DOCUMENT = 0x0004 37 FTS5_TOKENIZE_PREFIX = 0x0002 38 FTS5_TOKENIZE_QUERY = 0x0001 39 FTS5_TOKEN_COLOCATED = 0x0001 40 FULLY_WITHIN = 2 41 F_OK = 0 42 HAVE_USLEEP = 1 43 INT_MAX = 2147483647 44 INT_MIN = -2147483648 45 LLONG_MAX = 9223372036854775807 46 LLONG_MIN = -9223372036854775808 47 LONG_LONG_MAX = 9223372036854775807 48 LONG_LONG_MIN = -9223372036854775808 49 LONG_MAX = 2147483647 50 LONG_MIN = -2147483648 51 MB_LEN_MAX = 5 52 MINGW_DDK_H = 0 53 MINGW_HAS_DDK_H = 1 54 MINGW_HAS_SECURE_API = 1 55 MINGW_SDK_INIT = 0 56 NAMEWIDTH = 60 57 NDEBUG = 1 58 NONAMELESSSTRUCT = 1 59 NONAMELESSUNION = 1 60 NOT_WITHIN = 0 61 PARTLY_WITHIN = 1 62 PATH_MAX = 260 63 RAND_MAX = 0x7fff 64 R_OK = 4 65 SCHAR_MAX = 127 66 SCHAR_MIN = -128 67 SEEK_CUR = 1 68 SEEK_END = 2 69 SEEK_SET = 0 70 SHRT_MAX = 32767 71 SHRT_MIN = -32768 72 SIZE_MAX = 18446744073709551615 73 SQLITE3_H = 0 74 SQLITE3_TEXT = 3 75 SQLITE_ABORT = 4 76 SQLITE_ABORT_ROLLBACK = 516 77 SQLITE_ACCESS_EXISTS = 0 78 SQLITE_ACCESS_READ = 2 79 SQLITE_ACCESS_READWRITE = 1 80 SQLITE_ALTER_TABLE = 26 81 SQLITE_ANALYZE = 28 82 SQLITE_ANY = 5 83 SQLITE_API = 0 84 SQLITE_APICALL = 0 85 SQLITE_ATTACH = 24 86 SQLITE_AUTH = 23 87 SQLITE_AUTH_USER = 279 88 SQLITE_BLOB = 4 89 SQLITE_BUSY = 5 90 SQLITE_BUSY_RECOVERY = 261 91 SQLITE_BUSY_SNAPSHOT = 517 92 SQLITE_BUSY_TIMEOUT = 773 93 SQLITE_CALLBACK = 0 94 SQLITE_CANTOPEN = 14 95 SQLITE_CANTOPEN_CONVPATH = 1038 96 SQLITE_CANTOPEN_DIRTYWAL = 1294 97 SQLITE_CANTOPEN_FULLPATH = 782 98 SQLITE_CANTOPEN_ISDIR = 526 99 SQLITE_CANTOPEN_NOTEMPDIR = 270 100 SQLITE_CANTOPEN_SYMLINK = 1550 101 SQLITE_CDECL = 0 102 SQLITE_CHANGESETAPPLY_INVERT = 0x0002 103 SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 104 SQLITE_CHANGESETSTART_INVERT = 0x0002 105 SQLITE_CHANGESET_ABORT = 2 106 SQLITE_CHANGESET_CONFLICT = 3 107 SQLITE_CHANGESET_CONSTRAINT = 4 108 SQLITE_CHANGESET_DATA = 1 109 SQLITE_CHANGESET_FOREIGN_KEY = 5 110 SQLITE_CHANGESET_NOTFOUND = 2 111 SQLITE_CHANGESET_OMIT = 0 112 SQLITE_CHANGESET_REPLACE = 1 113 SQLITE_CHECKPOINT_FULL = 1 114 SQLITE_CHECKPOINT_PASSIVE = 0 115 SQLITE_CHECKPOINT_RESTART = 2 116 SQLITE_CHECKPOINT_TRUNCATE = 3 117 SQLITE_CONFIG_COVERING_INDEX_SCAN = 20 118 SQLITE_CONFIG_GETMALLOC = 5 119 SQLITE_CONFIG_GETMUTEX = 11 120 SQLITE_CONFIG_GETPCACHE = 15 121 SQLITE_CONFIG_GETPCACHE2 = 19 122 SQLITE_CONFIG_HEAP = 8 123 SQLITE_CONFIG_LOG = 16 124 SQLITE_CONFIG_LOOKASIDE = 13 125 SQLITE_CONFIG_MALLOC = 4 126 SQLITE_CONFIG_MEMDB_MAXSIZE = 29 127 SQLITE_CONFIG_MEMSTATUS = 9 128 SQLITE_CONFIG_MMAP_SIZE = 22 129 SQLITE_CONFIG_MULTITHREAD = 2 130 SQLITE_CONFIG_MUTEX = 10 131 SQLITE_CONFIG_PAGECACHE = 7 132 SQLITE_CONFIG_PCACHE = 14 133 SQLITE_CONFIG_PCACHE2 = 18 134 SQLITE_CONFIG_PCACHE_HDRSZ = 24 135 SQLITE_CONFIG_PMASZ = 25 136 SQLITE_CONFIG_SCRATCH = 6 137 SQLITE_CONFIG_SERIALIZED = 3 138 SQLITE_CONFIG_SINGLETHREAD = 1 139 SQLITE_CONFIG_SMALL_MALLOC = 27 140 SQLITE_CONFIG_SORTERREF_SIZE = 28 141 SQLITE_CONFIG_SQLLOG = 21 142 SQLITE_CONFIG_STMTJRNL_SPILL = 26 143 SQLITE_CONFIG_URI = 17 144 SQLITE_CONFIG_WIN32_HEAPSIZE = 23 145 SQLITE_CONSTRAINT = 19 146 SQLITE_CONSTRAINT_CHECK = 275 147 SQLITE_CONSTRAINT_COMMITHOOK = 531 148 SQLITE_CONSTRAINT_DATATYPE = 3091 149 SQLITE_CONSTRAINT_FOREIGNKEY = 787 150 SQLITE_CONSTRAINT_FUNCTION = 1043 151 SQLITE_CONSTRAINT_NOTNULL = 1299 152 SQLITE_CONSTRAINT_PINNED = 2835 153 SQLITE_CONSTRAINT_PRIMARYKEY = 1555 154 SQLITE_CONSTRAINT_ROWID = 2579 155 SQLITE_CONSTRAINT_TRIGGER = 1811 156 SQLITE_CONSTRAINT_UNIQUE = 2067 157 SQLITE_CONSTRAINT_VTAB = 2323 158 SQLITE_COPY = 0 159 SQLITE_CORE = 1 160 SQLITE_CORRUPT = 11 161 SQLITE_CORRUPT_INDEX = 779 162 SQLITE_CORRUPT_SEQUENCE = 523 163 SQLITE_CORRUPT_VTAB = 267 164 SQLITE_CREATE_INDEX = 1 165 SQLITE_CREATE_TABLE = 2 166 SQLITE_CREATE_TEMP_INDEX = 3 167 SQLITE_CREATE_TEMP_TABLE = 4 168 SQLITE_CREATE_TEMP_TRIGGER = 5 169 SQLITE_CREATE_TEMP_VIEW = 6 170 SQLITE_CREATE_TRIGGER = 7 171 SQLITE_CREATE_VIEW = 8 172 SQLITE_CREATE_VTABLE = 29 173 SQLITE_DBCONFIG_DEFENSIVE = 1010 174 SQLITE_DBCONFIG_DQS_DDL = 1014 175 SQLITE_DBCONFIG_DQS_DML = 1013 176 SQLITE_DBCONFIG_ENABLE_FKEY = 1002 177 SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004 178 SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005 179 SQLITE_DBCONFIG_ENABLE_QPSG = 1007 180 SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 181 SQLITE_DBCONFIG_ENABLE_VIEW = 1015 182 SQLITE_DBCONFIG_LEGACY_ALTER_TABLE = 1012 183 SQLITE_DBCONFIG_LEGACY_FILE_FORMAT = 1016 184 SQLITE_DBCONFIG_LOOKASIDE = 1001 185 SQLITE_DBCONFIG_MAINDBNAME = 1000 186 SQLITE_DBCONFIG_MAX = 1017 187 SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006 188 SQLITE_DBCONFIG_RESET_DATABASE = 1009 189 SQLITE_DBCONFIG_TRIGGER_EQP = 1008 190 SQLITE_DBCONFIG_TRUSTED_SCHEMA = 1017 191 SQLITE_DBCONFIG_WRITABLE_SCHEMA = 1011 192 SQLITE_DBSTATUS_CACHE_HIT = 7 193 SQLITE_DBSTATUS_CACHE_MISS = 8 194 SQLITE_DBSTATUS_CACHE_SPILL = 12 195 SQLITE_DBSTATUS_CACHE_USED = 1 196 SQLITE_DBSTATUS_CACHE_USED_SHARED = 11 197 SQLITE_DBSTATUS_CACHE_WRITE = 9 198 SQLITE_DBSTATUS_DEFERRED_FKS = 10 199 SQLITE_DBSTATUS_LOOKASIDE_HIT = 4 200 SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6 201 SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5 202 SQLITE_DBSTATUS_LOOKASIDE_USED = 0 203 SQLITE_DBSTATUS_MAX = 12 204 SQLITE_DBSTATUS_SCHEMA_USED = 2 205 SQLITE_DBSTATUS_STMT_USED = 3 206 SQLITE_DELETE = 9 207 SQLITE_DENY = 1 208 SQLITE_DEPRECATED = 0 209 SQLITE_DESERIALIZE_FREEONCLOSE = 1 210 SQLITE_DESERIALIZE_READONLY = 4 211 SQLITE_DESERIALIZE_RESIZEABLE = 2 212 SQLITE_DETACH = 25 213 SQLITE_DETERMINISTIC = 0x000000800 214 SQLITE_DIRECTONLY = 0x000080000 215 SQLITE_DONE = 101 216 SQLITE_DROP_INDEX = 10 217 SQLITE_DROP_TABLE = 11 218 SQLITE_DROP_TEMP_INDEX = 12 219 SQLITE_DROP_TEMP_TABLE = 13 220 SQLITE_DROP_TEMP_TRIGGER = 14 221 SQLITE_DROP_TEMP_VIEW = 15 222 SQLITE_DROP_TRIGGER = 16 223 SQLITE_DROP_VIEW = 17 224 SQLITE_DROP_VTABLE = 30 225 SQLITE_EMPTY = 16 226 SQLITE_ENABLE_COLUMN_METADATA = 1 227 SQLITE_ENABLE_FTS5 = 1 228 SQLITE_ENABLE_GEOPOLY = 1 229 SQLITE_ENABLE_MATH_FUNCTIONS = 1 230 SQLITE_ENABLE_MEMORY_MANAGEMENT = 1 231 SQLITE_ENABLE_OFFSET_SQL_FUNC = 1 232 SQLITE_ENABLE_PREUPDATE_HOOK = 1 233 SQLITE_ENABLE_RBU = 1 234 SQLITE_ENABLE_RTREE = 1 235 SQLITE_ENABLE_SESSION = 1 236 SQLITE_ENABLE_SNAPSHOT = 1 237 SQLITE_ENABLE_STAT4 = 1 238 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 239 SQLITE_ERROR = 1 240 SQLITE_ERROR_MISSING_COLLSEQ = 257 241 SQLITE_ERROR_RETRY = 513 242 SQLITE_ERROR_SNAPSHOT = 769 243 SQLITE_EXPERIMENTAL = 0 244 SQLITE_FAIL = 3 245 SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31 246 SQLITE_FCNTL_BUSYHANDLER = 15 247 SQLITE_FCNTL_CHUNK_SIZE = 6 248 SQLITE_FCNTL_CKPT_DONE = 37 249 SQLITE_FCNTL_CKPT_START = 39 250 SQLITE_FCNTL_CKSM_FILE = 41 251 SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32 252 SQLITE_FCNTL_COMMIT_PHASETWO = 22 253 SQLITE_FCNTL_DATA_VERSION = 35 254 SQLITE_FCNTL_EXTERNAL_READER = 40 255 SQLITE_FCNTL_FILE_POINTER = 7 256 SQLITE_FCNTL_GET_LOCKPROXYFILE = 2 257 SQLITE_FCNTL_HAS_MOVED = 20 258 SQLITE_FCNTL_JOURNAL_POINTER = 28 259 SQLITE_FCNTL_LAST_ERRNO = 4 260 SQLITE_FCNTL_LOCKSTATE = 1 261 SQLITE_FCNTL_LOCK_TIMEOUT = 34 262 SQLITE_FCNTL_MMAP_SIZE = 18 263 SQLITE_FCNTL_OVERWRITE = 11 264 SQLITE_FCNTL_PDB = 30 265 SQLITE_FCNTL_PERSIST_WAL = 10 266 SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13 267 SQLITE_FCNTL_PRAGMA = 14 268 SQLITE_FCNTL_RBU = 26 269 SQLITE_FCNTL_RESERVE_BYTES = 38 270 SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33 271 SQLITE_FCNTL_SET_LOCKPROXYFILE = 3 272 SQLITE_FCNTL_SIZE_HINT = 5 273 SQLITE_FCNTL_SIZE_LIMIT = 36 274 SQLITE_FCNTL_SYNC = 21 275 SQLITE_FCNTL_SYNC_OMITTED = 8 276 SQLITE_FCNTL_TEMPFILENAME = 16 277 SQLITE_FCNTL_TRACE = 19 278 SQLITE_FCNTL_VFSNAME = 12 279 SQLITE_FCNTL_VFS_POINTER = 27 280 SQLITE_FCNTL_WAL_BLOCK = 24 281 SQLITE_FCNTL_WIN32_AV_RETRY = 9 282 SQLITE_FCNTL_WIN32_GET_HANDLE = 29 283 SQLITE_FCNTL_WIN32_SET_HANDLE = 23 284 SQLITE_FCNTL_ZIPVFS = 25 285 SQLITE_FLOAT = 2 286 SQLITE_FORMAT = 24 287 SQLITE_FULL = 13 288 SQLITE_FUNCTION = 31 289 SQLITE_GET_LOCKPROXYFILE = 2 290 SQLITE_IGNORE = 2 291 SQLITE_INDEX_CONSTRAINT_EQ = 2 292 SQLITE_INDEX_CONSTRAINT_FUNCTION = 150 293 SQLITE_INDEX_CONSTRAINT_GE = 32 294 SQLITE_INDEX_CONSTRAINT_GLOB = 66 295 SQLITE_INDEX_CONSTRAINT_GT = 4 296 SQLITE_INDEX_CONSTRAINT_IS = 72 297 SQLITE_INDEX_CONSTRAINT_ISNOT = 69 298 SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70 299 SQLITE_INDEX_CONSTRAINT_ISNULL = 71 300 SQLITE_INDEX_CONSTRAINT_LE = 8 301 SQLITE_INDEX_CONSTRAINT_LIKE = 65 302 SQLITE_INDEX_CONSTRAINT_LIMIT = 73 303 SQLITE_INDEX_CONSTRAINT_LT = 16 304 SQLITE_INDEX_CONSTRAINT_MATCH = 64 305 SQLITE_INDEX_CONSTRAINT_NE = 68 306 SQLITE_INDEX_CONSTRAINT_OFFSET = 74 307 SQLITE_INDEX_CONSTRAINT_REGEXP = 67 308 SQLITE_INDEX_SCAN_UNIQUE = 1 309 SQLITE_INNOCUOUS = 0x000200000 310 SQLITE_INSERT = 18 311 SQLITE_INTEGER = 1 312 SQLITE_INTERNAL = 2 313 SQLITE_INTERRUPT = 9 314 SQLITE_IOCAP_ATOMIC = 0x00000001 315 SQLITE_IOCAP_ATOMIC16K = 0x00000040 316 SQLITE_IOCAP_ATOMIC1K = 0x00000004 317 SQLITE_IOCAP_ATOMIC2K = 0x00000008 318 SQLITE_IOCAP_ATOMIC32K = 0x00000080 319 SQLITE_IOCAP_ATOMIC4K = 0x00000010 320 SQLITE_IOCAP_ATOMIC512 = 0x00000002 321 SQLITE_IOCAP_ATOMIC64K = 0x00000100 322 SQLITE_IOCAP_ATOMIC8K = 0x00000020 323 SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000 324 SQLITE_IOCAP_IMMUTABLE = 0x00002000 325 SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000 326 SQLITE_IOCAP_SAFE_APPEND = 0x00000200 327 SQLITE_IOCAP_SEQUENTIAL = 0x00000400 328 SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800 329 SQLITE_IOERR = 10 330 SQLITE_IOERR_ACCESS = 3338 331 SQLITE_IOERR_AUTH = 7178 332 SQLITE_IOERR_BEGIN_ATOMIC = 7434 333 SQLITE_IOERR_BLOCKED = 2826 334 SQLITE_IOERR_CHECKRESERVEDLOCK = 3594 335 SQLITE_IOERR_CLOSE = 4106 336 SQLITE_IOERR_COMMIT_ATOMIC = 7690 337 SQLITE_IOERR_CONVPATH = 6666 338 SQLITE_IOERR_CORRUPTFS = 8458 339 SQLITE_IOERR_DATA = 8202 340 SQLITE_IOERR_DELETE = 2570 341 SQLITE_IOERR_DELETE_NOENT = 5898 342 SQLITE_IOERR_DIR_CLOSE = 4362 343 SQLITE_IOERR_DIR_FSYNC = 1290 344 SQLITE_IOERR_FSTAT = 1802 345 SQLITE_IOERR_FSYNC = 1034 346 SQLITE_IOERR_GETTEMPPATH = 6410 347 SQLITE_IOERR_LOCK = 3850 348 SQLITE_IOERR_MMAP = 6154 349 SQLITE_IOERR_NOMEM = 3082 350 SQLITE_IOERR_RDLOCK = 2314 351 SQLITE_IOERR_READ = 266 352 SQLITE_IOERR_ROLLBACK_ATOMIC = 7946 353 SQLITE_IOERR_SEEK = 5642 354 SQLITE_IOERR_SHMLOCK = 5130 355 SQLITE_IOERR_SHMMAP = 5386 356 SQLITE_IOERR_SHMOPEN = 4618 357 SQLITE_IOERR_SHMSIZE = 4874 358 SQLITE_IOERR_SHORT_READ = 522 359 SQLITE_IOERR_TRUNCATE = 1546 360 SQLITE_IOERR_UNLOCK = 2058 361 SQLITE_IOERR_VNODE = 6922 362 SQLITE_IOERR_WRITE = 778 363 SQLITE_LAST_ERRNO = 4 364 SQLITE_LIKE_DOESNT_MATCH_BLOBS = 1 365 SQLITE_LIMIT_ATTACHED = 7 366 SQLITE_LIMIT_COLUMN = 2 367 SQLITE_LIMIT_COMPOUND_SELECT = 4 368 SQLITE_LIMIT_EXPR_DEPTH = 3 369 SQLITE_LIMIT_FUNCTION_ARG = 6 370 SQLITE_LIMIT_LENGTH = 0 371 SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8 372 SQLITE_LIMIT_SQL_LENGTH = 1 373 SQLITE_LIMIT_TRIGGER_DEPTH = 10 374 SQLITE_LIMIT_VARIABLE_NUMBER = 9 375 SQLITE_LIMIT_VDBE_OP = 5 376 SQLITE_LIMIT_WORKER_THREADS = 11 377 SQLITE_LOCKED = 6 378 SQLITE_LOCKED_SHAREDCACHE = 262 379 SQLITE_LOCKED_VTAB = 518 380 SQLITE_LOCK_EXCLUSIVE = 4 381 SQLITE_LOCK_NONE = 0 382 SQLITE_LOCK_PENDING = 3 383 SQLITE_LOCK_RESERVED = 2 384 SQLITE_LOCK_SHARED = 1 385 SQLITE_MISMATCH = 20 386 SQLITE_MISUSE = 21 387 SQLITE_MUTEX_APPDEF = 1 388 SQLITE_MUTEX_FAST = 0 389 SQLITE_MUTEX_NOOP = 1 390 SQLITE_MUTEX_RECURSIVE = 1 391 SQLITE_MUTEX_STATIC_APP1 = 8 392 SQLITE_MUTEX_STATIC_APP2 = 9 393 SQLITE_MUTEX_STATIC_APP3 = 10 394 SQLITE_MUTEX_STATIC_LRU = 6 395 SQLITE_MUTEX_STATIC_LRU2 = 7 396 SQLITE_MUTEX_STATIC_MAIN = 2 397 SQLITE_MUTEX_STATIC_MASTER = 2 398 SQLITE_MUTEX_STATIC_MEM = 3 399 SQLITE_MUTEX_STATIC_MEM2 = 4 400 SQLITE_MUTEX_STATIC_OPEN = 4 401 SQLITE_MUTEX_STATIC_PMEM = 7 402 SQLITE_MUTEX_STATIC_PRNG = 5 403 SQLITE_MUTEX_STATIC_VFS1 = 11 404 SQLITE_MUTEX_STATIC_VFS2 = 12 405 SQLITE_MUTEX_STATIC_VFS3 = 13 406 SQLITE_NOLFS = 22 407 SQLITE_NOMEM = 7 408 SQLITE_NOTADB = 26 409 SQLITE_NOTFOUND = 12 410 SQLITE_NOTICE = 27 411 SQLITE_NOTICE_RECOVER_ROLLBACK = 539 412 SQLITE_NOTICE_RECOVER_WAL = 283 413 SQLITE_NULL = 5 414 SQLITE_OK = 0 415 SQLITE_OK_LOAD_PERMANENTLY = 256 416 SQLITE_OK_SYMLINK = 512 417 SQLITE_OPEN_AUTOPROXY = 0x00000020 418 SQLITE_OPEN_CREATE = 0x00000004 419 SQLITE_OPEN_DELETEONCLOSE = 0x00000008 420 SQLITE_OPEN_EXCLUSIVE = 0x00000010 421 SQLITE_OPEN_EXRESCODE = 0x02000000 422 SQLITE_OPEN_FULLMUTEX = 0x00010000 423 SQLITE_OPEN_MAIN_DB = 0x00000100 424 SQLITE_OPEN_MAIN_JOURNAL = 0x00000800 425 SQLITE_OPEN_MASTER_JOURNAL = 0x00004000 426 SQLITE_OPEN_MEMORY = 0x00000080 427 SQLITE_OPEN_NOFOLLOW = 0x01000000 428 SQLITE_OPEN_NOMUTEX = 0x00008000 429 SQLITE_OPEN_PRIVATECACHE = 0x00040000 430 SQLITE_OPEN_READONLY = 0x00000001 431 SQLITE_OPEN_READWRITE = 0x00000002 432 SQLITE_OPEN_SHAREDCACHE = 0x00020000 433 SQLITE_OPEN_SUBJOURNAL = 0x00002000 434 SQLITE_OPEN_SUPER_JOURNAL = 0x00004000 435 SQLITE_OPEN_TEMP_DB = 0x00000200 436 SQLITE_OPEN_TEMP_JOURNAL = 0x00001000 437 SQLITE_OPEN_TRANSIENT_DB = 0x00000400 438 SQLITE_OPEN_URI = 0x00000040 439 SQLITE_OPEN_WAL = 0x00080000 440 SQLITE_OS_WIN = 1 441 SQLITE_PERM = 3 442 SQLITE_PRAGMA = 19 443 SQLITE_PREPARE_NORMALIZE = 0x02 444 SQLITE_PREPARE_NO_VTAB = 0x04 445 SQLITE_PREPARE_PERSISTENT = 0x01 446 SQLITE_PROTOCOL = 15 447 SQLITE_RANGE = 25 448 SQLITE_READ = 20 449 SQLITE_READONLY = 8 450 SQLITE_READONLY_CANTINIT = 1288 451 SQLITE_READONLY_CANTLOCK = 520 452 SQLITE_READONLY_DBMOVED = 1032 453 SQLITE_READONLY_DIRECTORY = 1544 454 SQLITE_READONLY_RECOVERY = 264 455 SQLITE_READONLY_ROLLBACK = 776 456 SQLITE_RECURSIVE = 33 457 SQLITE_REINDEX = 27 458 SQLITE_REPLACE = 5 459 SQLITE_ROLLBACK = 1 460 SQLITE_ROW = 100 461 SQLITE_SAVEPOINT = 32 462 SQLITE_SCANSTAT_EST = 2 463 SQLITE_SCANSTAT_EXPLAIN = 4 464 SQLITE_SCANSTAT_NAME = 3 465 SQLITE_SCANSTAT_NLOOP = 0 466 SQLITE_SCANSTAT_NVISIT = 1 467 SQLITE_SCANSTAT_SELECTID = 5 468 SQLITE_SCHEMA = 17 469 SQLITE_SELECT = 21 470 SQLITE_SERIALIZE_NOCOPY = 0x001 471 SQLITE_SESSION_CONFIG_STRMSIZE = 1 472 SQLITE_SESSION_OBJCONFIG_SIZE = 1 473 SQLITE_SET_LOCKPROXYFILE = 3 474 SQLITE_SHM_EXCLUSIVE = 8 475 SQLITE_SHM_LOCK = 2 476 SQLITE_SHM_NLOCK = 8 477 SQLITE_SHM_SHARED = 4 478 SQLITE_SHM_UNLOCK = 1 479 SQLITE_SOUNDEX = 1 480 SQLITE_SOURCE_ID = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8" 481 SQLITE_STATUS_MALLOC_COUNT = 9 482 SQLITE_STATUS_MALLOC_SIZE = 5 483 SQLITE_STATUS_MEMORY_USED = 0 484 SQLITE_STATUS_PAGECACHE_OVERFLOW = 2 485 SQLITE_STATUS_PAGECACHE_SIZE = 7 486 SQLITE_STATUS_PAGECACHE_USED = 1 487 SQLITE_STATUS_PARSER_STACK = 6 488 SQLITE_STATUS_SCRATCH_OVERFLOW = 4 489 SQLITE_STATUS_SCRATCH_SIZE = 8 490 SQLITE_STATUS_SCRATCH_USED = 3 491 SQLITE_STDCALL = 0 492 SQLITE_STMTSTATUS_AUTOINDEX = 3 493 SQLITE_STMTSTATUS_FILTER_HIT = 8 494 SQLITE_STMTSTATUS_FILTER_MISS = 7 495 SQLITE_STMTSTATUS_FULLSCAN_STEP = 1 496 SQLITE_STMTSTATUS_MEMUSED = 99 497 SQLITE_STMTSTATUS_REPREPARE = 5 498 SQLITE_STMTSTATUS_RUN = 6 499 SQLITE_STMTSTATUS_SORT = 2 500 SQLITE_STMTSTATUS_VM_STEP = 4 501 SQLITE_SUBTYPE = 0x000100000 502 SQLITE_SYNC_DATAONLY = 0x00010 503 SQLITE_SYNC_FULL = 0x00003 504 SQLITE_SYNC_NORMAL = 0x00002 505 SQLITE_SYSAPI = 0 506 SQLITE_TESTCTRL_ALWAYS = 13 507 SQLITE_TESTCTRL_ASSERT = 12 508 SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10 509 SQLITE_TESTCTRL_BITVEC_TEST = 8 510 SQLITE_TESTCTRL_BYTEORDER = 22 511 SQLITE_TESTCTRL_EXPLAIN_STMT = 19 512 SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS = 29 513 SQLITE_TESTCTRL_FAULT_INSTALL = 9 514 SQLITE_TESTCTRL_FIRST = 5 515 SQLITE_TESTCTRL_IMPOSTER = 25 516 SQLITE_TESTCTRL_INTERNAL_FUNCTIONS = 17 517 SQLITE_TESTCTRL_ISINIT = 23 518 SQLITE_TESTCTRL_ISKEYWORD = 16 519 SQLITE_TESTCTRL_LAST = 33 520 SQLITE_TESTCTRL_LOCALTIME_FAULT = 18 521 SQLITE_TESTCTRL_LOGEST = 33 522 SQLITE_TESTCTRL_NEVER_CORRUPT = 20 523 SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19 524 SQLITE_TESTCTRL_OPTIMIZATIONS = 15 525 SQLITE_TESTCTRL_PARSER_COVERAGE = 26 526 SQLITE_TESTCTRL_PENDING_BYTE = 11 527 SQLITE_TESTCTRL_PRNG_RESET = 7 528 SQLITE_TESTCTRL_PRNG_RESTORE = 6 529 SQLITE_TESTCTRL_PRNG_SAVE = 5 530 SQLITE_TESTCTRL_PRNG_SEED = 28 531 SQLITE_TESTCTRL_RESERVE = 14 532 SQLITE_TESTCTRL_RESULT_INTREAL = 27 533 SQLITE_TESTCTRL_SCRATCHMALLOC = 17 534 SQLITE_TESTCTRL_SEEK_COUNT = 30 535 SQLITE_TESTCTRL_SORTER_MMAP = 24 536 SQLITE_TESTCTRL_TRACEFLAGS = 31 537 SQLITE_TESTCTRL_TUNE = 32 538 SQLITE_TESTCTRL_VDBE_COVERAGE = 21 539 SQLITE_TEXT = 3 540 SQLITE_THREADSAFE = 1 541 SQLITE_TOOBIG = 18 542 SQLITE_TRACE_CLOSE = 0x08 543 SQLITE_TRACE_PROFILE = 0x02 544 SQLITE_TRACE_ROW = 0x04 545 SQLITE_TRACE_STMT = 0x01 546 SQLITE_TRANSACTION = 22 547 SQLITE_TXN_NONE = 0 548 SQLITE_TXN_READ = 1 549 SQLITE_TXN_WRITE = 2 550 SQLITE_UPDATE = 23 551 SQLITE_UTF16 = 4 552 SQLITE_UTF16BE = 3 553 SQLITE_UTF16LE = 2 554 SQLITE_UTF16_ALIGNED = 8 555 SQLITE_UTF8 = 1 556 SQLITE_VERSION = "3.39.3" 557 SQLITE_VERSION_NUMBER = 3039003 558 SQLITE_VTAB_CONSTRAINT_SUPPORT = 1 559 SQLITE_VTAB_DIRECTONLY = 3 560 SQLITE_VTAB_INNOCUOUS = 2 561 SQLITE_WARNING = 28 562 SQLITE_WARNING_AUTOINDEX = 284 563 SQLITE_WIN32_DATA_DIRECTORY_TYPE = 1 564 SQLITE_WIN32_TEMP_DIRECTORY_TYPE = 2 565 SSIZE_MAX = 9223372036854775807 566 STDERR_FILENO = 2 567 STDIN_FILENO = 0 568 STDOUT_FILENO = 1 569 SYS_OPEN = 20 570 TMP_MAX = 32767 571 TMP_MAX_S = 32767 572 UCHAR_MAX = 255 573 UINT_MAX = 4294967295 574 ULLONG_MAX = 18446744073709551615 575 ULONG_LONG_MAX = 18446744073709551615 576 ULONG_MAX = 4294967295 577 UNALIGNED = 0 578 USE___UUIDOF = 1 579 USHRT_MAX = 65535 580 WIN32 = 1 581 WIN64 = 1 582 WINNT = 1 583 W_OK = 2 584 X_OK = 1 585 X_AGLOBAL = 0 586 X_ALLOCA_S_HEAP_MARKER = 0xDDDD 587 X_ALLOCA_S_MARKER_SIZE = 16 588 X_ALLOCA_S_STACK_MARKER = 0xCCCC 589 X_ALLOCA_S_THRESHOLD = 1024 590 X_ALPHA = 259 591 X_ANONYMOUS_STRUCT = 0 592 X_ANONYMOUS_UNION = 0 593 X_ANSI_STDARG_H_ = 0 594 X_ARGMAX = 100 595 X_A_ARCH = 0x20 596 X_A_HIDDEN = 0x02 597 X_A_NORMAL = 0x00 598 X_A_RDONLY = 0x01 599 X_A_SUBDIR = 0x10 600 X_A_SYSTEM = 0x04 601 X_BLANK = 0x40 602 X_CALL_REPORTFAULT = 0x2 603 X_CONST_RETURN = 0 604 X_CONTROL = 0x20 605 X_CRTNOALIAS = 0 606 X_CRTRESTRICT = 0 607 X_CRT_ABS_DEFINED = 0 608 X_CRT_ALGO_DEFINED = 0 609 X_CRT_ALLOCATION_DEFINED = 0 610 X_CRT_ALTERNATIVE_IMPORTED = 0 611 X_CRT_ATOF_DEFINED = 0 612 X_CRT_CTYPEDATA_DEFINED = 0 613 X_CRT_DIRECTORY_DEFINED = 0 614 X_CRT_DOUBLE_DEC = 0 615 X_CRT_ERRNO_DEFINED = 0 616 X_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS = 4 617 X_CRT_INTERNAL_LOCAL_SCANF_OPTIONS = 2 618 X_CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY = 0x0008 619 X_CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS = 0x0010 620 X_CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION = 0x0001 621 X_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS = 0x0004 622 X_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR = 0x0002 623 X_CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY = 0x0004 624 X_CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS = 0x0002 625 X_CRT_INTERNAL_SCANF_SECURECRT = 0x0001 626 X_CRT_MANAGED_HEAP_DEPRECATE = 0 627 X_CRT_MEMORY_DEFINED = 0 628 X_CRT_PACKING = 8 629 X_CRT_PERROR_DEFINED = 0 630 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0 631 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0 632 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0 633 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0 634 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0 635 X_CRT_SWAB_DEFINED = 0 636 X_CRT_SYSTEM_DEFINED = 0 637 X_CRT_TERMINATE_DEFINED = 0 638 X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0 639 X_CRT_WCTYPEDATA_DEFINED = 0 640 X_CRT_WPERROR_DEFINED = 0 641 X_CRT_WSYSTEM_DEFINED = 0 642 X_CTYPE_DEFINED = 0 643 X_CVTBUFSIZE = 349 644 X_DIGIT = 0x4 645 X_DIV_T_DEFINED = 0 646 X_DLL = 0 647 X_ERRCODE_DEFINED = 0 648 X_FILE_DEFINED = 0 649 X_FILE_OFFSET_BITS = 64 650 X_FILE_OFFSET_BITS_SET_FSEEKO = 0 651 X_FILE_OFFSET_BITS_SET_FTELLO = 0 652 X_FILE_OFFSET_BITS_SET_LSEEK = 0 653 X_FILE_OFFSET_BITS_SET_OFFT = 0 654 X_FINDDATA_T_DEFINED = 0 655 X_FPOS_T_DEFINED = 0 656 X_FREEA_INLINE = 0 657 X_FREEENTRY = 0 658 X_FSIZE_T_DEFINED = 0 659 X_FTS5_H = 0 660 X_GCC_LIMITS_H_ = 0 661 X_HEAPBADBEGIN = -3 662 X_HEAPBADNODE = -4 663 X_HEAPBADPTR = -6 664 X_HEAPEMPTY = -1 665 X_HEAPEND = -5 666 X_HEAPINFO_DEFINED = 0 667 X_HEAPOK = -2 668 X_HEAP_MAXREQ = 0xFFFFFFFFFFFFFFE0 669 X_HEX = 0x80 670 X_I16_MAX = 32767 671 X_I16_MIN = -32768 672 X_I32_MAX = 2147483647 673 X_I32_MIN = -2147483648 674 X_I64_MAX = 9223372036854775807 675 X_I64_MIN = -9223372036854775808 676 X_I8_MAX = 127 677 X_I8_MIN = -128 678 X_INC_CORECRT = 0 679 X_INC_CORECRT_WSTDLIB = 0 680 X_INC_CRTDEFS = 0 681 X_INC_CRTDEFS_MACRO = 0 682 X_INC_CTYPE = 0 683 X_INC_LIMITS = 0 684 X_INC_MINGW_SECAPI = 0 685 X_INC_STDARG = 0 686 X_INC_STDIO = 0 687 X_INC_STDIO_S = 0 688 X_INC_STDLIB = 0 689 X_INC_STDLIB_S = 0 690 X_INC_STRING = 0 691 X_INC_STRING_S = 0 692 X_INC_SWPRINTF_INL = 0 693 X_INC_VADEFS = 0 694 X_INC__MINGW_H = 0 695 X_INT128_DEFINED = 0 696 X_INTEGRAL_MAX_BITS = 64 697 X_INTPTR_T_DEFINED = 0 698 X_IOB_ENTRIES = 20 699 X_IOEOF = 0x0010 700 X_IOERR = 0x0020 701 X_IOFBF = 0x0000 702 X_IOLBF = 0x0040 703 X_IOMYBUF = 0x0008 704 X_IONBF = 0x0004 705 X_IOREAD = 0x0001 706 X_IORW = 0x0080 707 X_IOSTRG = 0x0040 708 X_IOWRT = 0x0002 709 X_IO_H_ = 0 710 X_LEADBYTE = 0x8000 711 X_LIMITS_H___ = 0 712 X_LOWER = 0x2 713 X_MALLOC_H_ = 0 714 X_MAX_DIR = 256 715 X_MAX_DRIVE = 3 716 X_MAX_ENV = 32767 717 X_MAX_EXT = 256 718 X_MAX_FNAME = 256 719 X_MAX_PATH = 260 720 X_MAX_WAIT_MALLOC_CRT = 60000 721 X_MM_MALLOC_H_INCLUDED = 0 722 X_MSC_VER = 1900 723 X_MT = 0 724 X_M_AMD64 = 100 725 X_M_X64 = 100 726 X_NFILE = 512 727 X_NLSCMPERROR = 2147483647 728 X_NLSCMP_DEFINED = 0 729 X_NSTREAM_ = 512 730 X_OFF64_T_DEFINED = 0 731 X_OFF_T_ = 0 732 X_OFF_T_DEFINED = 0 733 X_OLD_P_OVERLAY = 2 734 X_ONEXIT_T_DEFINED = 0 735 X_OUT_TO_DEFAULT = 0 736 X_OUT_TO_MSGBOX = 2 737 X_OUT_TO_STDERR = 1 738 X_PGLOBAL = 0 739 X_PTRDIFF_T_ = 0 740 X_PTRDIFF_T_DEFINED = 0 741 X_PUNCT = 0x10 742 X_P_DETACH = 4 743 X_P_NOWAIT = 1 744 X_P_NOWAITO = 3 745 X_P_OVERLAY = 2 746 X_P_WAIT = 0 747 X_P_tmpdir = "\\" 748 X_QSORT_S_DEFINED = 0 749 X_REPORT_ERRMODE = 3 750 X_RSIZE_T_DEFINED = 0 751 X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD 752 X_SIZE_T_DEFINED = 0 753 X_SPACE = 0x8 754 X_SPAWNV_DEFINED = 0 755 X_SQLITE3RTREE_H_ = 0 756 X_SSIZE_T_DEFINED = 0 757 X_STDARG_H = 0 758 X_STDIO_CONFIG_DEFINED = 0 759 X_STDIO_DEFINED = 0 760 X_STDIO_S_DEFINED = 0 761 X_STDSTREAM_DEFINED = 0 762 X_SYS_OPEN = 20 763 X_TAGLC_ID_DEFINED = 0 764 X_THREADLOCALEINFO = 0 765 X_TIME32_T_DEFINED = 0 766 X_TIME64_T_DEFINED = 0 767 X_TIME_T_DEFINED = 0 768 X_TWO_DIGIT_EXPONENT = 0x1 769 X_UI16_MAX = 0xffff 770 X_UI32_MAX = 0xffffffff 771 X_UI64_MAX = 0xffffffffffffffff 772 X_UI8_MAX = 0xff 773 X_UINTPTR_T_DEFINED = 0 774 X_UPPER = 0x1 775 X_USEDENTRY = 1 776 X_VA_LIST = 0 777 X_VA_LIST_ = 0 778 X_VA_LIST_DEFINED = 0 779 X_VA_LIST_T_H = 0 780 X_W64 = 0 781 X_WAIT_CHILD = 0 782 X_WAIT_GRANDCHILD = 1 783 X_WCHAR_T_DEFINED = 0 784 X_WCTYPE_DEFINED = 0 785 X_WCTYPE_INLINE_DEFINED = 0 786 X_WCTYPE_T_DEFINED = 0 787 X_WConst_return = 0 788 X_WFINDDATA_T_DEFINED = 0 789 X_WIN32 = 1 790 X_WIN32_WINNT = 0x502 791 X_WIN64 = 1 792 X_WINT_T = 0 793 X_WIO_DEFINED = 0 794 X_WRITE_ABORT_MSG = 0x1 795 X_WSPAWN_DEFINED = 0 796 X_WSTDIO_DEFINED = 0 797 X_WSTDIO_S_DEFINED = 0 798 X_WSTDLIBP_DEFINED = 0 799 X_WSTDLIB_DEFINED = 0 800 X_WSTRING_DEFINED = 0 801 X_WSTRING_S_DEFINED = 0 802 ) 803 804 type ptrdiff_t = int64 805 806 type size_t = uint64 807 808 type wchar_t = uint16 809 810 type va_list = uintptr 811 812 var zHelp = *(*[2263]int8)(unsafe.Pointer(ts)) 813 814 type sqlite_int64 = int64 815 type sqlite_uint64 = uint64 816 type sqlite3_int64 = sqlite_int64 817 type sqlite3_uint64 = sqlite_uint64 818 819 type sqlite3_callback = uintptr 820 821 type sqlite3_file1 = struct{ pMethods uintptr } 822 823 type sqlite3_file = sqlite3_file1 824 type sqlite3_io_methods1 = struct { 825 iVersion int32 826 _ [4]byte 827 xClose uintptr 828 xRead uintptr 829 xWrite uintptr 830 xTruncate uintptr 831 xSync uintptr 832 xFileSize uintptr 833 xLock uintptr 834 xUnlock uintptr 835 xCheckReservedLock uintptr 836 xFileControl uintptr 837 xSectorSize uintptr 838 xDeviceCharacteristics uintptr 839 xShmMap uintptr 840 xShmLock uintptr 841 xShmBarrier uintptr 842 xShmUnmap uintptr 843 xFetch uintptr 844 xUnfetch uintptr 845 } 846 847 type sqlite3_io_methods = sqlite3_io_methods1 848 849 type sqlite3_vfs1 = struct { 850 iVersion int32 851 szOsFile int32 852 mxPathname int32 853 _ [4]byte 854 pNext uintptr 855 zName uintptr 856 pAppData uintptr 857 xOpen uintptr 858 xDelete uintptr 859 xAccess uintptr 860 xFullPathname uintptr 861 xDlOpen uintptr 862 xDlError uintptr 863 xDlSym uintptr 864 xDlClose uintptr 865 xRandomness uintptr 866 xSleep uintptr 867 xCurrentTime uintptr 868 xGetLastError uintptr 869 xCurrentTimeInt64 uintptr 870 xSetSystemCall uintptr 871 xGetSystemCall uintptr 872 xNextSystemCall uintptr 873 } 874 875 type sqlite3_vfs = sqlite3_vfs1 876 type sqlite3_syscall_ptr = uintptr 877 878 type sqlite3_mem_methods1 = struct { 879 xMalloc uintptr 880 xFree uintptr 881 xRealloc uintptr 882 xSize uintptr 883 xRoundup uintptr 884 xInit uintptr 885 xShutdown uintptr 886 pAppData uintptr 887 } 888 889 type sqlite3_mem_methods = sqlite3_mem_methods1 890 891 type sqlite3_destructor_type = uintptr 892 893 type sqlite3_vtab1 = struct { 894 pModule uintptr 895 nRef int32 896 _ [4]byte 897 zErrMsg uintptr 898 } 899 900 type sqlite3_vtab = sqlite3_vtab1 901 type sqlite3_index_info1 = struct { 902 nConstraint int32 903 _ [4]byte 904 aConstraint uintptr 905 nOrderBy int32 906 _ [4]byte 907 aOrderBy uintptr 908 aConstraintUsage uintptr 909 idxNum int32 910 _ [4]byte 911 idxStr uintptr 912 needToFreeIdxStr int32 913 orderByConsumed int32 914 estimatedCost float64 915 estimatedRows sqlite3_int64 916 idxFlags int32 917 _ [4]byte 918 colUsed sqlite3_uint64 919 } 920 921 type sqlite3_index_info = sqlite3_index_info1 922 type sqlite3_vtab_cursor1 = struct{ pVtab uintptr } 923 924 type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 925 type sqlite3_module1 = struct { 926 iVersion int32 927 _ [4]byte 928 xCreate uintptr 929 xConnect uintptr 930 xBestIndex uintptr 931 xDisconnect uintptr 932 xDestroy uintptr 933 xOpen uintptr 934 xClose uintptr 935 xFilter uintptr 936 xNext uintptr 937 xEof uintptr 938 xColumn uintptr 939 xRowid uintptr 940 xUpdate uintptr 941 xBegin uintptr 942 xSync uintptr 943 xCommit uintptr 944 xRollback uintptr 945 xFindFunction uintptr 946 xRename uintptr 947 xSavepoint uintptr 948 xRelease uintptr 949 xRollbackTo uintptr 950 xShadowName uintptr 951 } 952 953 type sqlite3_module = sqlite3_module1 954 955 type sqlite3_index_constraint = struct { 956 iColumn int32 957 op uint8 958 usable uint8 959 _ [2]byte 960 iTermOffset int32 961 } 962 963 type sqlite3_index_orderby = struct { 964 iColumn int32 965 desc uint8 966 _ [3]byte 967 } 968 969 type sqlite3_index_constraint_usage = struct { 970 argvIndex int32 971 omit uint8 972 _ [3]byte 973 } 974 975 type sqlite3_mutex_methods1 = struct { 976 xMutexInit uintptr 977 xMutexEnd uintptr 978 xMutexAlloc uintptr 979 xMutexFree uintptr 980 xMutexEnter uintptr 981 xMutexTry uintptr 982 xMutexLeave uintptr 983 xMutexHeld uintptr 984 xMutexNotheld uintptr 985 } 986 987 type sqlite3_mutex_methods = sqlite3_mutex_methods1 988 989 type sqlite3_pcache_page1 = struct { 990 pBuf uintptr 991 pExtra uintptr 992 } 993 994 type sqlite3_pcache_page = sqlite3_pcache_page1 995 996 type sqlite3_pcache_methods21 = struct { 997 iVersion int32 998 _ [4]byte 999 pArg uintptr 1000 xInit uintptr 1001 xShutdown uintptr 1002 xCreate uintptr 1003 xCachesize uintptr 1004 xPagecount uintptr 1005 xFetch uintptr 1006 xUnpin uintptr 1007 xRekey uintptr 1008 xTruncate uintptr 1009 xDestroy uintptr 1010 xShrink uintptr 1011 } 1012 1013 type sqlite3_pcache_methods2 = sqlite3_pcache_methods21 1014 1015 type sqlite3_pcache_methods1 = struct { 1016 pArg uintptr 1017 xInit uintptr 1018 xShutdown uintptr 1019 xCreate uintptr 1020 xCachesize uintptr 1021 xPagecount uintptr 1022 xFetch uintptr 1023 xUnpin uintptr 1024 xRekey uintptr 1025 xTruncate uintptr 1026 xDestroy uintptr 1027 } 1028 1029 type sqlite3_pcache_methods = sqlite3_pcache_methods1 1030 1031 type sqlite3_snapshot1 = struct{ hidden [48]uint8 } 1032 1033 type sqlite3_snapshot = sqlite3_snapshot1 1034 1035 type sqlite3_rtree_geometry1 = struct { 1036 pContext uintptr 1037 nParam int32 1038 _ [4]byte 1039 aParam uintptr 1040 pUser uintptr 1041 xDelUser uintptr 1042 } 1043 1044 type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 1045 type sqlite3_rtree_query_info1 = struct { 1046 pContext uintptr 1047 nParam int32 1048 _ [4]byte 1049 aParam uintptr 1050 pUser uintptr 1051 xDelUser uintptr 1052 aCoord uintptr 1053 anQueue uintptr 1054 nCoord int32 1055 iLevel int32 1056 mxLevel int32 1057 _ [4]byte 1058 iRowid sqlite3_int64 1059 rParentScore sqlite3_rtree_dbl 1060 eParentWithin int32 1061 eWithin int32 1062 rScore sqlite3_rtree_dbl 1063 apSqlParam uintptr 1064 } 1065 1066 type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 1067 1068 type sqlite3_rtree_dbl = float64 1069 1070 type Fts5ExtensionApi1 = struct { 1071 iVersion int32 1072 _ [4]byte 1073 xUserData uintptr 1074 xColumnCount uintptr 1075 xRowCount uintptr 1076 xColumnTotalSize uintptr 1077 xTokenize uintptr 1078 xPhraseCount uintptr 1079 xPhraseSize uintptr 1080 xInstCount uintptr 1081 xInst uintptr 1082 xRowid uintptr 1083 xColumnText uintptr 1084 xColumnSize uintptr 1085 xQueryPhrase uintptr 1086 xSetAuxdata uintptr 1087 xGetAuxdata uintptr 1088 xPhraseFirst uintptr 1089 xPhraseNext uintptr 1090 xPhraseFirstColumn uintptr 1091 xPhraseNextColumn uintptr 1092 } 1093 1094 type Fts5ExtensionApi = Fts5ExtensionApi1 1095 type Fts5PhraseIter1 = struct { 1096 a uintptr 1097 b uintptr 1098 } 1099 1100 type Fts5PhraseIter = Fts5PhraseIter1 1101 1102 type fts5_extension_function = uintptr 1103 type fts5_tokenizer1 = struct { 1104 xCreate uintptr 1105 xDelete uintptr 1106 xTokenize uintptr 1107 } 1108 1109 type fts5_tokenizer = fts5_tokenizer1 1110 1111 type fts5_api1 = struct { 1112 iVersion int32 1113 _ [4]byte 1114 xCreateTokenizer uintptr 1115 xFindTokenizer uintptr 1116 xCreateFunction uintptr 1117 } 1118 1119 type fts5_api = fts5_api1 1120 1121 type ssize_t = int64 1122 1123 type rsize_t = size_t 1124 1125 type intptr_t = int64 1126 1127 type uintptr_t = uint64 1128 1129 type wint_t = uint16 1130 type wctype_t = uint16 1131 1132 type errno_t = int32 1133 1134 type time_t = int64 1135 1136 type threadlocaleinfostruct = struct { 1137 refcount int32 1138 lc_codepage uint32 1139 lc_collate_cp uint32 1140 lc_handle [6]uint32 1141 lc_id [6]LC_ID 1142 lc_category [6]struct { 1143 locale uintptr 1144 wlocale uintptr 1145 refcount uintptr 1146 wrefcount uintptr 1147 } 1148 lc_clike int32 1149 mb_cur_max int32 1150 lconv_intl_refcount uintptr 1151 lconv_num_refcount uintptr 1152 lconv_mon_refcount uintptr 1153 lconv uintptr 1154 ctype1_refcount uintptr 1155 ctype1 uintptr 1156 pctype uintptr 1157 pclmap uintptr 1158 pcumap uintptr 1159 lc_time_curr uintptr 1160 } 1161 1162 type pthreadlocinfo = uintptr 1163 type pthreadmbcinfo = uintptr 1164 1165 type localeinfo_struct = struct { 1166 locinfo pthreadlocinfo 1167 mbcinfo pthreadmbcinfo 1168 } 1169 1170 type _locale_tstruct = localeinfo_struct 1171 type _locale_t = uintptr 1172 1173 type tagLC_ID = struct { 1174 wLanguage uint16 1175 wCountry uint16 1176 wCodePage uint16 1177 } 1178 1179 type LC_ID = tagLC_ID 1180 type LPLC_ID = uintptr 1181 1182 type threadlocinfo = threadlocaleinfostruct 1183 1184 type _iobuf = struct { 1185 _ptr uintptr 1186 _cnt int32 1187 _ [4]byte 1188 _base uintptr 1189 _flag int32 1190 _file int32 1191 _charbuf int32 1192 _bufsiz int32 1193 _tmpfname uintptr 1194 } 1195 1196 type FILE = _iobuf 1197 1198 type _off_t = int32 1199 type off32_t = int32 1200 1201 type _off64_t = int64 1202 type off64_t = int64 1203 1204 type off_t = off64_t 1205 1206 type fpos_t = int64 1207 1208 func fprintf(tls *libc.TLS, __stream uintptr, __format uintptr, va uintptr) int32 { 1209 var __retval int32 1210 var __local_argv uintptr 1211 __local_argv = va 1212 __retval = libc.X__mingw_vfprintf(tls, __stream, __format, __local_argv) 1213 _ = __local_argv 1214 return __retval 1215 } 1216 1217 func printf(tls *libc.TLS, __format uintptr, va uintptr) int32 { 1218 var __retval int32 1219 var __local_argv uintptr 1220 __local_argv = va 1221 __retval = libc.X__mingw_vfprintf(tls, libc.X__acrt_iob_func(tls, uint32(1)), __format, __local_argv) 1222 _ = __local_argv 1223 return __retval 1224 } 1225 1226 func vfprintf(tls *libc.TLS, __stream uintptr, __format uintptr, __local_argv uintptr) int32 { 1227 return libc.X__mingw_vfprintf(tls, __stream, __format, __local_argv) 1228 } 1229 1230 func vsnwprintf(tls *libc.TLS, __stream uintptr, __n size_t, __format uintptr, __local_argv uintptr) int32 { 1231 return libc.X__mingw_vsnwprintf(tls, __stream, __n, __format, __local_argv) 1232 } 1233 1234 func vswprintf(tls *libc.TLS, __stream uintptr, __count size_t, __format uintptr, __local_argv uintptr) int32 { 1235 return vsnwprintf(tls, __stream, __count, __format, __local_argv) 1236 } 1237 1238 type _onexit_t = uintptr 1239 1240 type _div_t = struct { 1241 quot int32 1242 rem int32 1243 } 1244 1245 type div_t = _div_t 1246 1247 type _ldiv_t = struct { 1248 quot int32 1249 rem int32 1250 } 1251 1252 type ldiv_t = _ldiv_t 1253 1254 type _LDOUBLE = struct{ ld [10]uint8 } 1255 1256 type _CRT_DOUBLE = struct{ x float64 } 1257 1258 type _CRT_FLOAT = struct{ f float32 } 1259 1260 type _LONGDOUBLE = struct{ x float64 } 1261 1262 type _LDBL12 = struct{ ld12 [12]uint8 } 1263 1264 type _purecall_handler = uintptr 1265 1266 type _invalid_parameter_handler = uintptr 1267 1268 type lldiv_t = struct { 1269 quot int64 1270 rem int64 1271 } 1272 1273 type _heapinfo = struct { 1274 _pentry uintptr 1275 _size size_t 1276 _useflag int32 1277 _ [4]byte 1278 } 1279 1280 type _HEAPINFO = _heapinfo 1281 type _fsize_t = uint32 1282 1283 type _finddata32_t = struct { 1284 attrib uint32 1285 time_create int32 1286 time_access int32 1287 time_write int32 1288 size _fsize_t 1289 name [260]int8 1290 } 1291 1292 type _finddata32i64_t = struct { 1293 attrib uint32 1294 time_create int32 1295 time_access int32 1296 time_write int32 1297 size int64 1298 name [260]int8 1299 _ [4]byte 1300 } 1301 1302 type _finddata64i32_t = struct { 1303 attrib uint32 1304 _ [4]byte 1305 time_create int64 1306 time_access int64 1307 time_write int64 1308 size _fsize_t 1309 name [260]int8 1310 } 1311 1312 type __finddata64_t = struct { 1313 attrib uint32 1314 _ [4]byte 1315 time_create int64 1316 time_access int64 1317 time_write int64 1318 size int64 1319 name [260]int8 1320 _ [4]byte 1321 } 1322 1323 type _wfinddata32_t = struct { 1324 attrib uint32 1325 time_create int32 1326 time_access int32 1327 time_write int32 1328 size _fsize_t 1329 name [260]wchar_t 1330 } 1331 1332 type _wfinddata32i64_t = struct { 1333 attrib uint32 1334 time_create int32 1335 time_access int32 1336 time_write int32 1337 size int64 1338 name [260]wchar_t 1339 } 1340 1341 type _wfinddata64i32_t = struct { 1342 attrib uint32 1343 _ [4]byte 1344 time_create int64 1345 time_access int64 1346 time_write int64 1347 size _fsize_t 1348 name [260]wchar_t 1349 _ [4]byte 1350 } 1351 1352 type _wfinddata64_t = struct { 1353 attrib uint32 1354 _ [4]byte 1355 time_create int64 1356 time_access int64 1357 time_write int64 1358 size int64 1359 name [260]wchar_t 1360 } 1361 1362 type u64 = sqlite3_uint64 1363 1364 type HashContext1 = struct { 1365 isInit uint8 1366 i uint8 1367 j uint8 1368 s [256]uint8 1369 r [32]uint8 1370 } 1371 1372 type HashContext = HashContext1 1373 1374 type Global = struct { 1375 db uintptr 1376 pStmt uintptr 1377 iStart sqlite3_int64 1378 iTotal sqlite3_int64 1379 bWithoutRowid int32 1380 bReprepare int32 1381 bSqlOnly int32 1382 bExplain int32 1383 bVerify int32 1384 bMemShrink int32 1385 eTemp int32 1386 szTest int32 1387 nRepeat int32 1388 doCheckpoint int32 1389 nReserve int32 1390 _ [4]byte 1391 zWR uintptr 1392 zNN uintptr 1393 zPK uintptr 1394 x uint32 1395 y uint32 1396 nResByte u64 1397 nResult int32 1398 zResult [3000]int8 1399 _ [4]byte 1400 hashFile uintptr 1401 hash HashContext 1402 _ [5]byte 1403 } 1404 1405 var g Global 1406 1407 func isTemp(tls *libc.TLS, N int32) uintptr { 1408 if g.eTemp >= N { 1409 return ts + 2263 1410 } 1411 return ts + 2269 1412 } 1413 1414 func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) { 1415 var ap va_list 1416 _ = ap 1417 ap = va 1418 vfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), zMsg, ap) 1419 _ = ap 1420 libc.Xexit(tls, 1) 1421 } 1422 1423 func HashInit(tls *libc.TLS) { 1424 var k uint32 1425 g.hash.i = uint8(0) 1426 g.hash.j = uint8(0) 1427 for k = uint32(0); k < uint32(256); k++ { 1428 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(k))) = uint8(k) 1429 } 1430 } 1431 1432 func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) { 1433 var t uint8 1434 var i uint8 = g.hash.i 1435 var j uint8 = g.hash.j 1436 var k uint32 1437 if g.hashFile != 0 { 1438 libc.Xfwrite(tls, aData, uint64(1), uint64(nData), g.hashFile) 1439 } 1440 for k = uint32(0); k < nData; k++ { 1441 j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k)))))) 1442 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) 1443 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) 1444 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = t 1445 i++ 1446 } 1447 g.hash.i = i 1448 g.hash.j = j 1449 } 1450 1451 func HashFinal(tls *libc.TLS) { 1452 var k uint32 1453 var t uint8 1454 var i uint8 1455 var j uint8 1456 i = g.hash.i 1457 j = g.hash.j 1458 for k = uint32(0); k < uint32(32); k++ { 1459 i++ 1460 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) 1461 j = uint8(int32(j) + int32(t)) 1462 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) 1463 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = t 1464 t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))))) 1465 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(t))) 1466 } 1467 } 1468 1469 func hexDigitValue(tls *libc.TLS, c int8) int32 { 1470 if int32(c) >= '0' && int32(c) <= '9' { 1471 return int32(c) - '0' 1472 } 1473 if int32(c) >= 'a' && int32(c) <= 'f' { 1474 return int32(c) - 'a' + 10 1475 } 1476 if int32(c) >= 'A' && int32(c) <= 'F' { 1477 return int32(c) - 'A' + 10 1478 } 1479 return -1 1480 } 1481 1482 func integerValue(tls *libc.TLS, zArg uintptr) int32 { 1483 var v sqlite3_int64 = int64(0) 1484 var i int32 1485 var isNeg int32 = 0 1486 if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { 1487 isNeg = 1 1488 zArg++ 1489 } else if int32(*(*int8)(unsafe.Pointer(zArg))) == '+' { 1490 zArg++ 1491 } 1492 if int32(*(*int8)(unsafe.Pointer(zArg))) == '0' && int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 'x' { 1493 var x int32 1494 zArg += uintptr(2) 1495 for libc.AssignInt32(&x, hexDigitValue(tls, *(*int8)(unsafe.Pointer(zArg)))) >= 0 { 1496 v = v<<4 + sqlite3_int64(x) 1497 zArg++ 1498 } 1499 } else { 1500 for libc.Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(zArg)))) != 0 { 1501 v = v*int64(10) + sqlite3_int64(*(*int8)(unsafe.Pointer(zArg))) - int64('0') 1502 zArg++ 1503 } 1504 } 1505 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aMult))/uint64(unsafe.Sizeof(struct { 1506 zSuffix uintptr 1507 iMult int32 1508 _ [4]byte 1509 }{})); i++ { 1510 if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 { 1511 v = v * sqlite3_int64(aMult[i].iMult) 1512 break 1513 } 1514 } 1515 if v > int64(0x7fffffff) { 1516 fatal_error(tls, ts+2270, 0) 1517 } 1518 return func() int32 { 1519 if isNeg != 0 { 1520 return int32(-v) 1521 } 1522 return int32(v) 1523 }() 1524 } 1525 1526 var aMult = [9]struct { 1527 zSuffix uintptr 1528 iMult int32 1529 _ [4]byte 1530 }{ 1531 {zSuffix: ts + 2307, iMult: 1024}, 1532 {zSuffix: ts + 2311, iMult: 1024 * 1024}, 1533 {zSuffix: ts + 2315, iMult: 1024 * 1024 * 1024}, 1534 {zSuffix: ts + 2319, iMult: 1000}, 1535 {zSuffix: ts + 2322, iMult: 1000000}, 1536 {zSuffix: ts + 2325, iMult: 1000000000}, 1537 {zSuffix: ts + 2328, iMult: 1000}, 1538 {zSuffix: ts + 2330, iMult: 1000000}, 1539 {zSuffix: ts + 2332, iMult: 1000000000}, 1540 } 1541 1542 func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 { 1543 bp := tls.Alloc(16) 1544 defer tls.Free(16) 1545 1546 if clockVfs == uintptr(0) { 1547 clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) 1548 } 1549 if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) { 1550 (*struct { 1551 f func(*libc.TLS, uintptr, uintptr) int32 1552 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp) 1553 } else { 1554 (*struct { 1555 f func(*libc.TLS, uintptr, uintptr) int32 1556 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8) 1557 *(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0) 1558 } 1559 return *(*sqlite3_int64)(unsafe.Pointer(bp)) 1560 } 1561 1562 var clockVfs uintptr = uintptr(0) 1563 1564 func speedtest1_random(tls *libc.TLS) uint32 { 1565 g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001 1566 g.y = g.y*uint32(1103515245) + uint32(12345) 1567 return g.x ^ g.y 1568 } 1569 1570 func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 { 1571 var out uint32 = uint32(0) 1572 for limit != 0 { 1573 out = out<<1 | in&uint32(1) 1574 in >>= 1 1575 limit >>= 1 1576 } 1577 return out 1578 } 1579 1580 func roundup_allones(tls *libc.TLS, limit uint32) uint32 { 1581 var m uint32 = uint32(1) 1582 for m < limit { 1583 m = m<<1 + uint32(1) 1584 } 1585 return m 1586 } 1587 1588 func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 { 1589 bp := tls.Alloc(24) 1590 defer tls.Free(24) 1591 1592 var i int32 = 0 1593 1594 if n >= uint32(1000000000) { 1595 i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i) 1596 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2334, 0) 1597 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1598 n = n % uint32(1000000000) 1599 } 1600 if n >= uint32(1000000) { 1601 if i != 0 && i < nOut-1 { 1602 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1603 } 1604 i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i) 1605 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2343, 0) 1606 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1607 n = n % uint32(1000000) 1608 } 1609 if n >= uint32(1000) { 1610 if i != 0 && i < nOut-1 { 1611 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1612 } 1613 i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i) 1614 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2352, 0) 1615 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1616 n = n % uint32(1000) 1617 } 1618 if n >= uint32(100) { 1619 if i != 0 && i < nOut-1 { 1620 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1621 } 1622 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2362, libc.VaList(bp, ones[n/uint32(100)])) 1623 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1624 n = n % uint32(100) 1625 } 1626 if n >= uint32(20) { 1627 if i != 0 && i < nOut-1 { 1628 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1629 } 1630 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+8, tens[n/uint32(10)])) 1631 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1632 n = n % uint32(10) 1633 } 1634 if n > uint32(0) { 1635 if i != 0 && i < nOut-1 { 1636 *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') 1637 } 1638 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+16, ones[n])) 1639 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1640 } 1641 if i == 0 { 1642 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2376, 0) 1643 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1644 } 1645 return i 1646 } 1647 1648 var ones = [20]uintptr{ts + 2376, ts + 2381, ts + 2385, ts + 2389, ts + 2395, ts + 2400, 1649 ts + 2405, ts + 2409, ts + 2415, ts + 2421, ts + 2426, ts + 2430, ts + 2437, 1650 ts + 2444, ts + 2453, ts + 2462, ts + 2470, ts + 2478, 1651 ts + 2488, ts + 2497} 1652 var tens = [10]uintptr{ts + 2269, ts + 2426, ts + 2506, ts + 2513, ts + 2520, 1653 ts + 2526, ts + 2532, ts + 2538, ts + 2546, ts + 2553} 1654 1655 var zDots = *(*[72]int8)(unsafe.Pointer(ts + 2560)) 1656 1657 func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) { 1658 bp := tls.Alloc(64) 1659 defer tls.Free(64) 1660 1661 var n int32 = int32(libc.Xstrlen(tls, zTestName)) 1662 var zName uintptr 1663 var ap va_list 1664 _ = ap 1665 ap = va 1666 zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap) 1667 _ = ap 1668 n = int32(libc.Xstrlen(tls, zName)) 1669 if n > NAMEWIDTH { 1670 *(*int8)(unsafe.Pointer(zName + 60)) = int8(0) 1671 n = NAMEWIDTH 1672 } 1673 if g.bSqlOnly != 0 { 1674 printf(tls, ts+2632, libc.VaList(bp, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 1675 } else { 1676 printf(tls, ts+2652, libc.VaList(bp+32, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 1677 libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1))) 1678 } 1679 sqlite3.Xsqlite3_free(tls, zName) 1680 g.nResult = 0 1681 g.iStart = speedtest1_timestamp(tls) 1682 g.x = 0xad131d0b 1683 g.y = uint32(0x44f9eac8) 1684 } 1685 1686 func speedtest1_end_test(tls *libc.TLS) { 1687 bp := tls.Alloc(16) 1688 defer tls.Free(16) 1689 1690 var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart 1691 if g.doCheckpoint != 0 { 1692 speedtest1_exec(tls, ts+2666, 0) 1693 } 1694 if !(g.bSqlOnly != 0) { 1695 *(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 24)) += iElapseTime 1696 printf(tls, ts+2689, libc.VaList(bp, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000)))) 1697 } 1698 if g.pStmt != 0 { 1699 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 1700 g.pStmt = uintptr(0) 1701 } 1702 } 1703 1704 func speedtest1_final(tls *libc.TLS) { 1705 bp := tls.Alloc(48) 1706 defer tls.Free(48) 1707 1708 if !(g.bSqlOnly != 0) { 1709 printf(tls, ts+2700, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)), 1710 int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000)))) 1711 } 1712 if g.bVerify != 0 { 1713 var i int32 1714 printf(tls, ts+2728, libc.VaList(bp+32, g.nResByte)) 1715 HashUpdate(tls, ts+2753, uint32(1)) 1716 HashFinal(tls) 1717 for i = 0; i < 24; i++ { 1718 printf(tls, ts+2755, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(i)))))) 1719 } 1720 if g.hashFile != 0 && g.hashFile != libc.X__acrt_iob_func(tls, uint32(1)) { 1721 libc.Xfclose(tls, g.hashFile) 1722 } 1723 printf(tls, ts+2753, 0) 1724 } 1725 } 1726 1727 func printSql(tls *libc.TLS, zSql uintptr) { 1728 bp := tls.Alloc(32) 1729 defer tls.Free(32) 1730 1731 var n int32 = int32(libc.Xstrlen(tls, zSql)) 1732 for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))))) != 0) { 1733 n-- 1734 } 1735 if g.bExplain != 0 { 1736 printf(tls, ts+2760, 0) 1737 } 1738 printf(tls, ts+2769, libc.VaList(bp, n, zSql)) 1739 if g.bExplain != 0 && 1740 (sqlite3.Xsqlite3_strglob(tls, ts+2776, zSql) == 0 || 1741 sqlite3.Xsqlite3_strglob(tls, ts+2785, zSql) == 0 || 1742 sqlite3.Xsqlite3_strglob(tls, ts+2792, zSql) == 0) { 1743 printf(tls, ts+2769, libc.VaList(bp+16, n, zSql)) 1744 } 1745 } 1746 1747 func speedtest1_shrink_memory(tls *libc.TLS) { 1748 if g.bMemShrink != 0 { 1749 sqlite3.Xsqlite3_db_release_memory(tls, g.db) 1750 } 1751 } 1752 1753 func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { 1754 bp := tls.Alloc(32) 1755 defer tls.Free(32) 1756 1757 var ap va_list 1758 _ = ap 1759 var zSql uintptr 1760 ap = va 1761 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 1762 _ = ap 1763 if g.bSqlOnly != 0 { 1764 printSql(tls, zSql) 1765 } else { 1766 *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) 1767 var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24) 1768 if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 { 1769 fatal_error(tls, ts+2800, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24)), zSql)) 1770 } 1771 if rc != SQLITE_OK { 1772 fatal_error(tls, ts+2818, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db))) 1773 } 1774 } 1775 sqlite3.Xsqlite3_free(tls, zSql) 1776 speedtest1_shrink_memory(tls) 1777 } 1778 1779 func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { 1780 bp := tls.Alloc(24) 1781 defer tls.Free(24) 1782 1783 var ap va_list 1784 _ = ap 1785 var zSql uintptr 1786 1787 var zResult uintptr = uintptr(0) 1788 ap = va 1789 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 1790 _ = ap 1791 if g.bSqlOnly != 0 { 1792 printSql(tls, zSql) 1793 } else { 1794 var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0)) 1795 if rc != 0 { 1796 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 1797 } 1798 if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW { 1799 var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 0) 1800 if z != 0 { 1801 zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2373, libc.VaList(bp+8, z)) 1802 } 1803 } 1804 sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 1805 } 1806 sqlite3.Xsqlite3_free(tls, zSql) 1807 speedtest1_shrink_memory(tls) 1808 return zResult 1809 } 1810 1811 func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) { 1812 bp := tls.Alloc(8) 1813 defer tls.Free(8) 1814 1815 var ap va_list 1816 _ = ap 1817 var zSql uintptr 1818 ap = va 1819 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 1820 _ = ap 1821 if g.bSqlOnly != 0 { 1822 printSql(tls, zSql) 1823 } else { 1824 var rc int32 1825 if g.pStmt != 0 { 1826 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 1827 } 1828 rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+8, uintptr(0)) 1829 if rc != 0 { 1830 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 1831 } 1832 } 1833 sqlite3.Xsqlite3_free(tls, zSql) 1834 } 1835 1836 func speedtest1_run(tls *libc.TLS) { 1837 bp := tls.Alloc(16) 1838 defer tls.Free(16) 1839 1840 var i int32 1841 var n int32 1842 var len int32 1843 if g.bSqlOnly != 0 { 1844 return 1845 } 1846 1847 g.nResult = 0 1848 for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW { 1849 n = sqlite3.Xsqlite3_column_count(tls, g.pStmt) 1850 for i = 0; i < n; i++ { 1851 var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i) 1852 if z == uintptr(0) { 1853 z = ts + 2849 1854 } 1855 len = int32(libc.Xstrlen(tls, z)) 1856 if g.bVerify != 0 { 1857 var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i) 1858 1859 *(*uint8)(unsafe.Pointer(bp)) = uint8('\n') 1860 *(*uint8)(unsafe.Pointer(bp + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 2853 + uintptr(eType)))) 1861 if g.nResByte != 0 { 1862 HashUpdate(tls, bp, uint32(2)) 1863 } else { 1864 HashUpdate(tls, bp+uintptr(1), uint32(1)) 1865 } 1866 if eType == SQLITE_FLOAT { 1867 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += uint64(2) 1868 } else if eType == SQLITE_BLOB { 1869 var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i) 1870 var iBlob int32 1871 1872 var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i) 1873 for iBlob = 0; iBlob < nBlob; iBlob++ { 1874 *(*uint8)(unsafe.Pointer(bp + 2)) = uint8(*(*int8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4)))) 1875 *(*uint8)(unsafe.Pointer(bp + 2 + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15)))) 1876 HashUpdate(tls, bp+2, uint32(2)) 1877 } 1878 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(nBlob*2 + 2) 1879 } else { 1880 HashUpdate(tls, z, uint32(len)) 1881 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(len + 2) 1882 } 1883 } 1884 if uint64(g.nResult+len) < uint64(unsafe.Sizeof([3000]int8{}))-uint64(2) { 1885 if g.nResult > 0 { 1886 *(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 124 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = int8(' ') 1887 } 1888 libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+124+uintptr(g.nResult), z, uint64(len+1)) 1889 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 120)) += len 1890 } 1891 } 1892 } 1893 if g.bReprepare != 0 { 1894 sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+8, uintptr(0)) 1895 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 1896 g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 8)) 1897 } else { 1898 sqlite3.Xsqlite3_reset(tls, g.pStmt) 1899 } 1900 speedtest1_shrink_memory(tls) 1901 } 1902 1903 func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) { 1904 bp := tls.Alloc(16) 1905 defer tls.Free(16) 1906 1907 var n int32 = int32(libc.Xstrlen(tls, zSql)) 1908 for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))))) != 0) { 1909 n-- 1910 } 1911 fprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2769, libc.VaList(bp, n, zSql)) 1912 } 1913 1914 func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { 1915 sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls))) 1916 } 1917 1918 func est_square_root(tls *libc.TLS, x int32) int32 { 1919 var y0 int32 = x / 2 1920 var y1 int32 1921 var n int32 1922 for n = 0; y0 > 0 && n < 10; n++ { 1923 y1 = (y0 + x/y0) / 2 1924 if y1 == y0 { 1925 break 1926 } 1927 y0 = y1 1928 } 1929 return y0 1930 } 1931 1932 func testset_main(tls *libc.TLS) { 1933 bp := tls.Alloc(2568) 1934 defer tls.Free(2568) 1935 1936 var i int32 1937 var n int32 1938 var sz int32 1939 var maxb int32 1940 var x1 uint32 = uint32(0) 1941 var x2 uint32 = uint32(0) 1942 var len int32 = 0 1943 1944 sz = libc.AssignInt32(&n, g.szTest*500) 1945 *(*int8)(unsafe.Pointer(bp + 568)) = int8(0) 1946 maxb = int32(roundup_allones(tls, uint32(sz))) 1947 speedtest1_begin_test(tls, 100, ts+2877, libc.VaList(bp, n)) 1948 speedtest1_exec(tls, ts+2913, 0) 1949 speedtest1_exec(tls, ts+2919, 1950 libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN)) 1951 speedtest1_prepare(tls, ts+2977, libc.VaList(bp+40, n)) 1952 for i = 1; i <= n; i++ { 1953 x1 = swizzle(tls, uint32(i), uint32(maxb)) 1954 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 1955 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 1956 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 1957 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 1958 speedtest1_run(tls) 1959 } 1960 speedtest1_exec(tls, ts+3023, 0) 1961 speedtest1_end_test(tls) 1962 1963 n = sz 1964 speedtest1_begin_test(tls, 110, ts+3030, libc.VaList(bp+48, n)) 1965 speedtest1_exec(tls, ts+2913, 0) 1966 speedtest1_exec(tls, 1967 ts+3067, 1968 libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 1969 speedtest1_prepare(tls, ts+3130, libc.VaList(bp+104, n)) 1970 for i = 1; i <= n; i++ { 1971 x1 = swizzle(tls, uint32(i), uint32(maxb)) 1972 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 1973 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i) 1974 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1)) 1975 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 1976 speedtest1_run(tls) 1977 } 1978 speedtest1_exec(tls, ts+3023, 0) 1979 speedtest1_end_test(tls) 1980 1981 n = sz 1982 speedtest1_begin_test(tls, 120, ts+3175, libc.VaList(bp+112, n)) 1983 speedtest1_exec(tls, ts+2913, 0) 1984 speedtest1_exec(tls, 1985 ts+3214, 1986 libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 1987 speedtest1_prepare(tls, ts+3277, libc.VaList(bp+168, n)) 1988 for i = 1; i <= n; i++ { 1989 x1 = swizzle(tls, uint32(i), uint32(maxb)) 1990 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 1991 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 1992 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 1993 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 1994 speedtest1_run(tls) 1995 } 1996 speedtest1_exec(tls, ts+3023, 0) 1997 speedtest1_end_test(tls) 1998 1999 n = 25 2000 speedtest1_begin_test(tls, 130, ts+3322, libc.VaList(bp+176, n)) 2001 speedtest1_exec(tls, ts+2913, 0) 2002 speedtest1_prepare(tls, 2003 ts+3361, libc.VaList(bp+184, n)) 2004 for i = 1; i <= n; i++ { 2005 if (i-1)%g.nRepeat == 0 { 2006 x1 = speedtest1_random(tls) % uint32(maxb) 2007 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2008 } 2009 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2010 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2011 speedtest1_run(tls) 2012 } 2013 speedtest1_exec(tls, ts+3023, 0) 2014 speedtest1_end_test(tls) 2015 2016 n = 10 2017 speedtest1_begin_test(tls, 140, ts+3466, libc.VaList(bp+192, n)) 2018 speedtest1_exec(tls, ts+2913, 0) 2019 speedtest1_prepare(tls, 2020 ts+3494, libc.VaList(bp+200, n)) 2021 for i = 1; i <= n; i++ { 2022 if (i-1)%g.nRepeat == 0 { 2023 x1 = speedtest1_random(tls) % uint32(maxb) 2024 *(*int8)(unsafe.Pointer(bp + 568)) = int8('%') 2025 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2))) 2026 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%') 2027 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0) 2028 } 2029 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2030 speedtest1_run(tls) 2031 } 2032 speedtest1_exec(tls, ts+3023, 0) 2033 speedtest1_end_test(tls) 2034 2035 n = 10 2036 speedtest1_begin_test(tls, 142, ts+3589, libc.VaList(bp+208, n)) 2037 speedtest1_exec(tls, ts+2913, 0) 2038 speedtest1_prepare(tls, 2039 ts+3622, libc.VaList(bp+216, n)) 2040 for i = 1; i <= n; i++ { 2041 if (i-1)%g.nRepeat == 0 { 2042 x1 = speedtest1_random(tls) % uint32(maxb) 2043 *(*int8)(unsafe.Pointer(bp + 568)) = int8('%') 2044 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2))) 2045 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%') 2046 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0) 2047 } 2048 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2049 speedtest1_run(tls) 2050 } 2051 speedtest1_exec(tls, ts+3023, 0) 2052 speedtest1_end_test(tls) 2053 2054 n = 10 2055 speedtest1_begin_test(tls, 145, ts+3686, libc.VaList(bp+224, n)) 2056 speedtest1_exec(tls, ts+2913, 0) 2057 speedtest1_prepare(tls, 2058 ts+3729, libc.VaList(bp+232, n)) 2059 for i = 1; i <= n; i++ { 2060 if (i-1)%g.nRepeat == 0 { 2061 x1 = speedtest1_random(tls) % uint32(maxb) 2062 *(*int8)(unsafe.Pointer(bp + 568)) = int8('%') 2063 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2))) 2064 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%') 2065 *(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0) 2066 } 2067 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2068 speedtest1_run(tls) 2069 } 2070 speedtest1_exec(tls, ts+3023, 0) 2071 speedtest1_end_test(tls) 2072 2073 speedtest1_begin_test(tls, 150, ts+3802, 0) 2074 speedtest1_exec(tls, ts+3826, 0) 2075 speedtest1_exec(tls, ts+3833, 0) 2076 speedtest1_exec(tls, ts+3867, 0) 2077 speedtest1_exec(tls, ts+3894, 0) 2078 speedtest1_exec(tls, ts+3928, 0) 2079 speedtest1_exec(tls, ts+3960, 0) 2080 speedtest1_exec(tls, ts+3990, 0) 2081 speedtest1_end_test(tls) 2082 2083 n = sz / 5 2084 speedtest1_begin_test(tls, 160, ts+3998, libc.VaList(bp+240, n)) 2085 speedtest1_exec(tls, ts+2913, 0) 2086 speedtest1_prepare(tls, 2087 ts+4035, libc.VaList(bp+248, n)) 2088 for i = 1; i <= n; i++ { 2089 if (i-1)%g.nRepeat == 0 { 2090 x1 = speedtest1_random(tls) % uint32(maxb) 2091 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2092 } 2093 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2094 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2095 speedtest1_run(tls) 2096 } 2097 speedtest1_exec(tls, ts+3023, 0) 2098 speedtest1_end_test(tls) 2099 2100 n = sz / 5 2101 speedtest1_begin_test(tls, 161, ts+4140, libc.VaList(bp+256, n)) 2102 speedtest1_exec(tls, ts+2913, 0) 2103 speedtest1_prepare(tls, 2104 ts+4172, libc.VaList(bp+264, n)) 2105 for i = 1; i <= n; i++ { 2106 if (i-1)%g.nRepeat == 0 { 2107 x1 = speedtest1_random(tls) % uint32(maxb) 2108 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2109 } 2110 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2111 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2112 speedtest1_run(tls) 2113 } 2114 speedtest1_exec(tls, ts+3023, 0) 2115 speedtest1_end_test(tls) 2116 2117 n = sz / 5 2118 speedtest1_begin_test(tls, 170, ts+4277, libc.VaList(bp+272, n)) 2119 speedtest1_exec(tls, ts+2913, 0) 2120 speedtest1_prepare(tls, 2121 ts+4311, libc.VaList(bp+280, n)) 2122 for i = 1; i <= n; i++ { 2123 if (i-1)%g.nRepeat == 0 { 2124 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2125 len = speedtest1_numbername(tls, x1, bp+568, int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(1))) 2126 } 2127 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0)) 2128 speedtest1_run(tls) 2129 } 2130 speedtest1_exec(tls, ts+3023, 0) 2131 speedtest1_end_test(tls) 2132 2133 n = sz 2134 speedtest1_begin_test(tls, 180, ts+4423, libc.VaList(bp+288, n)) 2135 speedtest1_exec(tls, ts+2913, 0) 2136 speedtest1_exec(tls, 2137 ts+4453, 2138 libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2139 speedtest1_exec(tls, ts+4524, 0) 2140 speedtest1_exec(tls, ts+4550, 0) 2141 speedtest1_exec(tls, ts+4576, 0) 2142 speedtest1_exec(tls, ts+3023, 0) 2143 speedtest1_end_test(tls) 2144 2145 n = sz 2146 speedtest1_begin_test(tls, 190, ts+4608, libc.VaList(bp+344, n)) 2147 speedtest1_exec(tls, ts+4636, 0) 2148 speedtest1_exec(tls, ts+4652, 0) 2149 speedtest1_end_test(tls) 2150 2151 speedtest1_begin_test(tls, 200, ts+4685, 0) 2152 speedtest1_exec(tls, ts+4685, 0) 2153 speedtest1_end_test(tls) 2154 2155 speedtest1_begin_test(tls, 210, ts+4692, 0) 2156 speedtest1_exec(tls, ts+4726, 0) 2157 speedtest1_exec(tls, ts+4770, 0) 2158 speedtest1_end_test(tls) 2159 2160 n = sz / 5 2161 speedtest1_begin_test(tls, 230, ts+4792, libc.VaList(bp+352, n)) 2162 speedtest1_exec(tls, ts+2913, 0) 2163 speedtest1_prepare(tls, 2164 ts+4829, libc.VaList(bp+360, n)) 2165 for i = 1; i <= n; i++ { 2166 x1 = speedtest1_random(tls) % uint32(maxb) 2167 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2168 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2169 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2170 speedtest1_run(tls) 2171 } 2172 speedtest1_exec(tls, ts+3023, 0) 2173 speedtest1_end_test(tls) 2174 2175 n = sz 2176 speedtest1_begin_test(tls, 240, ts+4888, libc.VaList(bp+368, n)) 2177 speedtest1_exec(tls, ts+2913, 0) 2178 speedtest1_prepare(tls, 2179 ts+4918, libc.VaList(bp+376, n)) 2180 for i = 1; i <= n; i++ { 2181 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2182 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2183 speedtest1_run(tls) 2184 } 2185 speedtest1_exec(tls, ts+3023, 0) 2186 speedtest1_end_test(tls) 2187 2188 speedtest1_begin_test(tls, 250, ts+4962, libc.VaList(bp+384, sz)) 2189 speedtest1_exec(tls, ts+5003, 0) 2190 speedtest1_end_test(tls) 2191 2192 speedtest1_begin_test(tls, 260, ts+5023, 0) 2193 speedtest1_exec(tls, ts+4770, 0) 2194 speedtest1_end_test(tls) 2195 2196 n = sz / 5 2197 speedtest1_begin_test(tls, 270, ts+5056, libc.VaList(bp+392, n)) 2198 speedtest1_exec(tls, ts+2913, 0) 2199 speedtest1_prepare(tls, 2200 ts+5093, libc.VaList(bp+400, n)) 2201 for i = 1; i <= n; i++ { 2202 x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1) 2203 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2204 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2205 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2206 speedtest1_run(tls) 2207 } 2208 speedtest1_exec(tls, ts+3023, 0) 2209 speedtest1_end_test(tls) 2210 2211 n = sz 2212 speedtest1_begin_test(tls, 280, ts+5147, libc.VaList(bp+408, n)) 2213 speedtest1_exec(tls, ts+2913, 0) 2214 speedtest1_prepare(tls, 2215 ts+5177, libc.VaList(bp+416, n)) 2216 for i = 1; i <= n; i++ { 2217 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2218 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2219 speedtest1_run(tls) 2220 } 2221 speedtest1_exec(tls, ts+3023, 0) 2222 speedtest1_end_test(tls) 2223 2224 speedtest1_begin_test(tls, 290, ts+5216, libc.VaList(bp+424, sz)) 2225 speedtest1_exec(tls, ts+5255, 0) 2226 speedtest1_exec(tls, ts+5299, 0) 2227 speedtest1_end_test(tls) 2228 2229 speedtest1_begin_test(tls, 300, ts+5343, libc.VaList(bp+432, sz)) 2230 speedtest1_exec(tls, ts+4636, 0) 2231 speedtest1_exec(tls, 2232 ts+5384, 0) 2233 speedtest1_exec(tls, 2234 ts+5449, 0) 2235 speedtest1_end_test(tls) 2236 2237 n = sz / 5 2238 speedtest1_begin_test(tls, 310, ts+5514, libc.VaList(bp+440, n)) 2239 speedtest1_exec(tls, ts+2913, 0) 2240 speedtest1_prepare(tls, 2241 ts+5533, 0) 2242 for i = 1; i <= n; i++ { 2243 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2244 x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4) 2245 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2246 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2247 speedtest1_run(tls) 2248 } 2249 speedtest1_exec(tls, ts+3023, 0) 2250 speedtest1_end_test(tls) 2251 2252 speedtest1_begin_test(tls, 320, ts+5646, libc.VaList(bp+448, n)) 2253 speedtest1_prepare(tls, 2254 ts+5669, 0) 2255 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50) 2256 speedtest1_run(tls) 2257 speedtest1_end_test(tls) 2258 2259 sz = libc.AssignInt32(&n, g.szTest*700) 2260 *(*int8)(unsafe.Pointer(bp + 568)) = int8(0) 2261 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2262 speedtest1_begin_test(tls, 400, ts+5787, libc.VaList(bp+456, n)) 2263 speedtest1_exec(tls, ts+2913, 0) 2264 speedtest1_exec(tls, ts+5812, 2265 libc.VaList(bp+464, isTemp(tls, 9), g.zNN)) 2266 speedtest1_prepare(tls, ts+5860, libc.VaList(bp+480, n)) 2267 for i = 1; i <= n; i++ { 2268 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2269 speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2270 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2271 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0)) 2272 speedtest1_run(tls) 2273 } 2274 speedtest1_exec(tls, ts+3023, 0) 2275 speedtest1_end_test(tls) 2276 speedtest1_begin_test(tls, 410, ts+5904, libc.VaList(bp+488, n)) 2277 speedtest1_prepare(tls, ts+5925, libc.VaList(bp+496, n)) 2278 for i = 1; i <= n; i++ { 2279 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2280 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2281 speedtest1_run(tls) 2282 } 2283 speedtest1_end_test(tls) 2284 2285 sz = libc.AssignInt32(&n, g.szTest*700) 2286 *(*int8)(unsafe.Pointer(bp + 568)) = int8(0) 2287 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2288 speedtest1_begin_test(tls, 500, ts+5967, libc.VaList(bp+504, n)) 2289 speedtest1_exec(tls, ts+2913, 0) 2290 speedtest1_exec(tls, ts+5989, 2291 libc.VaList(bp+512, isTemp(tls, 9), g.zNN, 2292 func() uintptr { 2293 if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 { 2294 return ts + 6036 2295 } 2296 return ts + 2269 2297 }())) 2298 speedtest1_prepare(tls, ts+6050, libc.VaList(bp+536, n)) 2299 for i = 1; i <= n; i++ { 2300 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2301 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2302 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2303 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2304 speedtest1_run(tls) 2305 } 2306 speedtest1_exec(tls, ts+3023, 0) 2307 speedtest1_end_test(tls) 2308 speedtest1_begin_test(tls, 510, ts+6094, libc.VaList(bp+544, n)) 2309 speedtest1_prepare(tls, ts+6118, libc.VaList(bp+552, n)) 2310 for i = 1; i <= n; i++ { 2311 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2312 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{}))) 2313 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2314 speedtest1_run(tls) 2315 } 2316 speedtest1_end_test(tls) 2317 speedtest1_begin_test(tls, 520, ts+6160, libc.VaList(bp+560, n)) 2318 speedtest1_exec(tls, ts+6179, 0) 2319 speedtest1_exec(tls, ts+6206, 0) 2320 speedtest1_end_test(tls) 2321 2322 speedtest1_begin_test(tls, 980, ts+6233, 0) 2323 speedtest1_exec(tls, ts+6233, 0) 2324 speedtest1_end_test(tls) 2325 2326 speedtest1_begin_test(tls, 990, ts+6256, 0) 2327 speedtest1_exec(tls, ts+6256, 0) 2328 speedtest1_end_test(tls) 2329 } 2330 2331 func testset_cte(tls *libc.TLS) { 2332 bp := tls.Alloc(32) 2333 defer tls.Free(32) 2334 2335 var zPuz uintptr 2336 var rSpacing float64 2337 var nElem int32 2338 2339 if g.szTest < 25 { 2340 zPuz = azPuzzle[0] 2341 } else if g.szTest < 70 { 2342 zPuz = azPuzzle[1] 2343 } else { 2344 zPuz = azPuzzle[2] 2345 } 2346 speedtest1_begin_test(tls, 100, ts+6264, 0) 2347 speedtest1_prepare(tls, 2348 ts+6295, 0) 2349 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2350 speedtest1_run(tls) 2351 speedtest1_end_test(tls) 2352 2353 speedtest1_begin_test(tls, 200, ts+7099, 0) 2354 speedtest1_prepare(tls, 2355 ts+7127, 0) 2356 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2357 speedtest1_run(tls) 2358 speedtest1_end_test(tls) 2359 2360 rSpacing = 5.0 / float64(g.szTest) 2361 speedtest1_begin_test(tls, 300, ts+7939, libc.VaList(bp, rSpacing)) 2362 speedtest1_prepare(tls, 2363 ts+7970, 0) 2364 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05) 2365 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing) 2366 speedtest1_run(tls) 2367 speedtest1_end_test(tls) 2368 2369 nElem = 10000 * g.szTest 2370 speedtest1_begin_test(tls, 400, ts+8566, libc.VaList(bp+8, nElem)) 2371 speedtest1_prepare(tls, 2372 ts+8603, 2373 libc.VaList(bp+16, nElem, nElem)) 2374 speedtest1_run(tls) 2375 speedtest1_end_test(tls) 2376 } 2377 2378 var azPuzzle = [3]uintptr{ 2379 ts + 8834, 2380 ts + 8916, 2381 ts + 8998, 2382 } 2383 2384 func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) { 2385 bp := tls.Alloc(24) 2386 defer tls.Free(24) 2387 2388 var x int32 = int32(speedtest1_random(tls)) 2389 var y int32 = int32(speedtest1_random(tls)) 2390 var z int32 2391 z = y % 10 2392 if z < 0 { 2393 z = -z 2394 } 2395 y = y / 10 2396 sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9080, libc.VaList(bp, y, z, x%200)) 2397 } 2398 2399 func testset_fp(tls *libc.TLS) { 2400 bp := tls.Alloc(272) 2401 defer tls.Free(272) 2402 2403 var n int32 2404 var i int32 2405 2406 n = g.szTest * 5000 2407 speedtest1_begin_test(tls, 100, ts+9089, libc.VaList(bp, n*2)) 2408 speedtest1_exec(tls, ts+2913, 0) 2409 speedtest1_exec(tls, ts+9120, 2410 libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN)) 2411 speedtest1_prepare(tls, ts+9161, libc.VaList(bp+32, n)) 2412 for i = 1; i <= n; i++ { 2413 speedtest1_random_ascii_fp(tls, bp+72) 2414 speedtest1_random_ascii_fp(tls, bp+172) 2415 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2416 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2417 speedtest1_run(tls) 2418 } 2419 speedtest1_exec(tls, ts+3023, 0) 2420 speedtest1_end_test(tls) 2421 2422 n = g.szTest/25 + 2 2423 speedtest1_begin_test(tls, 110, ts+9203, libc.VaList(bp+40, n)) 2424 speedtest1_prepare(tls, ts+9220, 0) 2425 for i = 1; i <= n; i++ { 2426 speedtest1_random_ascii_fp(tls, bp+72) 2427 speedtest1_random_ascii_fp(tls, bp+172) 2428 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2429 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2430 speedtest1_run(tls) 2431 } 2432 speedtest1_end_test(tls) 2433 2434 speedtest1_begin_test(tls, 120, ts+9268, 0) 2435 speedtest1_exec(tls, ts+3826, 0) 2436 speedtest1_exec(tls, ts+9293, 0) 2437 speedtest1_exec(tls, ts+9320, 0) 2438 speedtest1_exec(tls, ts+9347, 0) 2439 speedtest1_exec(tls, ts+3990, 0) 2440 speedtest1_end_test(tls) 2441 2442 n = g.szTest/3 + 2 2443 speedtest1_begin_test(tls, 130, ts+9377, libc.VaList(bp+48, n)) 2444 speedtest1_prepare(tls, ts+9220, 0) 2445 for i = 1; i <= n; i++ { 2446 speedtest1_random_ascii_fp(tls, bp+72) 2447 speedtest1_random_ascii_fp(tls, bp+172) 2448 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2449 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2450 speedtest1_run(tls) 2451 } 2452 speedtest1_end_test(tls) 2453 2454 n = g.szTest * 5000 2455 speedtest1_begin_test(tls, 140, ts+9402, libc.VaList(bp+56, n)) 2456 speedtest1_exec(tls, ts+9422, 0) 2457 speedtest1_end_test(tls) 2458 2459 speedtest1_begin_test(tls, 150, ts+9465, libc.VaList(bp+64, n*4)) 2460 speedtest1_exec(tls, 2461 ts+9483, 0) 2462 speedtest1_end_test(tls) 2463 } 2464 2465 func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) { 2466 var d uint32 2467 var x0 uint32 2468 var x1 uint32 2469 var span uint32 2470 2471 span = mx/uint32(100) + uint32(1) 2472 if speedtest1_random(tls)%uint32(3) == uint32(0) { 2473 span = span * uint32(p1) 2474 } 2475 if speedtest1_random(tls)%uint32(p2) == uint32(0) { 2476 span = mx / uint32(2) 2477 } 2478 d = speedtest1_random(tls)%span + uint32(1) 2479 x0 = speedtest1_random(tls)%(mx-d) + uint32(1) 2480 x1 = x0 + d 2481 *(*uint32)(unsafe.Pointer(pX0)) = x0 2482 *(*uint32)(unsafe.Pointer(pX1)) = x1 2483 } 2484 2485 func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 { 2486 *(*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))) 2487 return SQLITE_OK 2488 } 2489 2490 func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { 2491 bp := tls.Alloc(224) 2492 defer tls.Free(224) 2493 2494 var i uint32 2495 var n uint32 2496 var mxCoord uint32 2497 2498 var iStep uint32 2499 var mxRowid uint32 2500 var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(g.szTest)*uint64(500))) 2501 2502 mxCoord = uint32(15000) 2503 mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500)) 2504 speedtest1_begin_test(tls, 100, ts+9578, libc.VaList(bp, n)) 2505 speedtest1_exec(tls, ts+2913, 0) 2506 speedtest1_exec(tls, ts+9604, 0) 2507 speedtest1_prepare(tls, 2508 ts+9663, 0) 2509 for i = uint32(1); i <= n; i++ { 2510 twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204) 2511 twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212) 2512 twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220) 2513 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2514 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200)))) 2515 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204)))) 2516 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208)))) 2517 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212)))) 2518 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216)))) 2519 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220)))) 2520 speedtest1_run(tls) 2521 } 2522 speedtest1_exec(tls, ts+3023, 0) 2523 speedtest1_end_test(tls) 2524 2525 speedtest1_begin_test(tls, 101, ts+9729, 0) 2526 speedtest1_exec(tls, ts+9764, 0) 2527 speedtest1_exec(tls, ts+9822, 0) 2528 speedtest1_end_test(tls) 2529 2530 n = uint32(g.szTest * 200) 2531 speedtest1_begin_test(tls, 110, ts+9855, libc.VaList(bp+8, n)) 2532 speedtest1_prepare(tls, ts+9898, 0) 2533 iStep = mxCoord / n 2534 for i = uint32(0); i < n; i++ { 2535 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2536 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2537 speedtest1_run(tls) 2538 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2539 } 2540 speedtest1_end_test(tls) 2541 2542 if g.bVerify != 0 { 2543 n = uint32(g.szTest * 200) 2544 speedtest1_begin_test(tls, 111, ts+9947, 0) 2545 speedtest1_prepare(tls, ts+9994, 0) 2546 iStep = mxCoord / n 2547 for i = uint32(0); i < n; i++ { 2548 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2549 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2550 speedtest1_run(tls) 2551 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) { 2552 fatal_error(tls, ts+10042, 2553 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))) 2554 } 2555 } 2556 speedtest1_end_test(tls) 2557 } 2558 2559 n = uint32(g.szTest * 200) 2560 speedtest1_begin_test(tls, 120, ts+10084, libc.VaList(bp+56, n)) 2561 speedtest1_prepare(tls, ts+10125, 0) 2562 iStep = mxCoord / n 2563 for i = uint32(0); i < n; i++ { 2564 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2565 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2566 speedtest1_run(tls) 2567 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2568 } 2569 speedtest1_end_test(tls) 2570 2571 if g.bVerify != 0 { 2572 n = uint32(g.szTest * 200) 2573 speedtest1_begin_test(tls, 121, ts+10174, 0) 2574 speedtest1_prepare(tls, ts+10219, 0) 2575 iStep = mxCoord / n 2576 for i = uint32(0); i < n; i++ { 2577 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2578 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2579 speedtest1_run(tls) 2580 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) { 2581 fatal_error(tls, ts+10042, 2582 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))) 2583 } 2584 } 2585 speedtest1_end_test(tls) 2586 } 2587 2588 n = uint32(g.szTest * 200) 2589 speedtest1_begin_test(tls, 125, ts+10267, libc.VaList(bp+104, n)) 2590 sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10303, *(*uintptr)(unsafe.Pointer(&struct { 2591 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2592 }{xsliceGeometryCallback})), uintptr(0)) 2593 speedtest1_prepare(tls, ts+10310, 0) 2594 iStep = mxCoord / n 2595 for i = uint32(0); i < n; i++ { 2596 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2597 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2598 speedtest1_run(tls) 2599 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) { 2600 fatal_error(tls, ts+10042, 2601 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))) 2602 } 2603 } 2604 speedtest1_end_test(tls) 2605 2606 n = uint32(g.szTest * 400) 2607 speedtest1_begin_test(tls, 130, ts+10364, libc.VaList(bp+152, n)) 2608 speedtest1_prepare(tls, 2609 ts+10407, 0) 2610 iStep = mxCoord / n 2611 for i = uint32(0); i < n; i++ { 2612 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2613 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2614 speedtest1_run(tls) 2615 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2616 } 2617 speedtest1_end_test(tls) 2618 2619 n = uint32(g.szTest * 500) 2620 speedtest1_begin_test(tls, 140, ts+10500, libc.VaList(bp+160, n)) 2621 speedtest1_prepare(tls, ts+10517, 0) 2622 for i = uint32(1); i <= n; i++ { 2623 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2624 speedtest1_run(tls) 2625 } 2626 speedtest1_end_test(tls) 2627 2628 n = uint32(g.szTest * 50) 2629 speedtest1_begin_test(tls, 150, ts+10547, libc.VaList(bp+168, n)) 2630 speedtest1_prepare(tls, ts+10570, 0) 2631 for i = uint32(1); i <= n; i++ { 2632 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1))) 2633 speedtest1_run(tls) 2634 } 2635 speedtest1_end_test(tls) 2636 2637 n = uint32(g.szTest * 5) 2638 speedtest1_begin_test(tls, 155, ts+10618, libc.VaList(bp+176, n)) 2639 speedtest1_prepare(tls, 2640 ts+10659, 0) 2641 iStep = mxCoord / n 2642 for i = uint32(0); i < n; i++ { 2643 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2644 speedtest1_run(tls) 2645 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2646 } 2647 speedtest1_end_test(tls) 2648 2649 n = uint32(g.szTest * 50) 2650 speedtest1_begin_test(tls, 160, ts+10721, libc.VaList(bp+184, n)) 2651 speedtest1_prepare(tls, ts+10744, 0) 2652 for i = uint32(1); i <= n; i++ { 2653 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1))) 2654 speedtest1_run(tls) 2655 } 2656 speedtest1_end_test(tls) 2657 2658 n = uint32(g.szTest * 5) 2659 speedtest1_begin_test(tls, 165, ts+10772, libc.VaList(bp+192, n)) 2660 speedtest1_prepare(tls, ts+10813, 0) 2661 iStep = mxCoord / n 2662 for i = uint32(0); i < n; i++ { 2663 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2664 speedtest1_run(tls) 2665 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2666 } 2667 speedtest1_end_test(tls) 2668 2669 speedtest1_begin_test(tls, 170, ts+10855, 0) 2670 speedtest1_exec(tls, ts+10902, 0) 2671 speedtest1_end_test(tls) 2672 } 2673 2674 func testset_orm(tls *libc.TLS) { 2675 bp := tls.Alloc(2016) 2676 defer tls.Free(2016) 2677 2678 var i uint32 2679 var j uint32 2680 var n uint32 2681 var nRow uint32 2682 var x1 uint32 2683 var len uint32 2684 2685 nRow = libc.AssignUint32(&n, uint32(g.szTest*250)) 2686 speedtest1_begin_test(tls, 100, ts+10945, libc.VaList(bp, n)) 2687 speedtest1_exec(tls, 2688 ts+10958, 0) 2689 speedtest1_prepare(tls, 2690 ts+14858, 0) 2691 for i = uint32(0); i < n; i++ { 2692 x1 = speedtest1_random(tls) 2693 speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]int8{}))) 2694 len = uint32(int32(libc.Xstrlen(tls, bp+16))) 2695 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf))) 2696 for j = uint32(0); zType[j] != 0; j++ { 2697 switch int32(zType[j]) { 2698 case 'I': 2699 fallthrough 2700 case 'T': 2701 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1)) 2702 break 2703 case 'F': 2704 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1)) 2705 break 2706 case 'V': 2707 fallthrough 2708 case 'B': 2709 sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len), 2710 uintptr(0), uint8(SQLITE_UTF8)) 2711 break 2712 } 2713 } 2714 speedtest1_run(tls) 2715 } 2716 speedtest1_exec(tls, ts+3990, 0) 2717 speedtest1_end_test(tls) 2718 2719 n = uint32(g.szTest * 250) 2720 speedtest1_begin_test(tls, 110, ts+18102, libc.VaList(bp+8, n)) 2721 speedtest1_prepare(tls, 2722 ts+18125, 0) 2723 for i = uint32(0); i < n; i++ { 2724 x1 = speedtest1_random(tls) % nRow 2725 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2726 speedtest1_run(tls) 2727 } 2728 speedtest1_end_test(tls) 2729 } 2730 2731 var zType = *(*[120]int8)(unsafe.Pointer(ts + 20878)) 2732 2733 func testset_trigger(tls *libc.TLS) { 2734 bp := tls.Alloc(2032) 2735 defer tls.Free(2032) 2736 2737 var jj int32 2738 var ii int32 2739 2740 var NROW int32 = 500 * g.szTest 2741 var NROW2 int32 = 100 * g.szTest 2742 2743 speedtest1_exec(tls, 2744 ts+20998, 0) 2745 for jj = 1; jj <= 3; jj++ { 2746 speedtest1_prepare(tls, ts+21326, libc.VaList(bp, jj)) 2747 for ii = 0; ii < NROW; ii++ { 2748 var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW)) 2749 speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 2750 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1) 2751 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 2752 speedtest1_run(tls) 2753 } 2754 } 2755 speedtest1_exec(tls, 2756 ts+21361, 0) 2757 2758 speedtest1_begin_test(tls, 100, ts+21444, 0) 2759 speedtest1_prepare(tls, 2760 ts+21458, 0) 2761 speedtest1_run(tls) 2762 speedtest1_end_test(tls) 2763 2764 speedtest1_begin_test(tls, 110, ts+21525, 0) 2765 speedtest1_prepare(tls, 2766 ts+21539, 0) 2767 speedtest1_run(tls) 2768 speedtest1_end_test(tls) 2769 2770 speedtest1_begin_test(tls, 120, ts+21598, 0) 2771 for jj = 1; jj <= 3; jj++ { 2772 speedtest1_prepare(tls, ts+21612, libc.VaList(bp+8, jj)) 2773 for ii = 0; ii < NROW2; ii = ii + 3 { 2774 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 2775 speedtest1_run(tls) 2776 } 2777 } 2778 speedtest1_end_test(tls) 2779 2780 speedtest1_begin_test(tls, 130, ts+21646, 0) 2781 for jj = 1; jj <= 3; jj++ { 2782 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+16, jj)) 2783 for ii = 0; ii < NROW2; ii = ii + 3 { 2784 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 2785 speedtest1_run(tls) 2786 } 2787 } 2788 speedtest1_end_test(tls) 2789 2790 speedtest1_begin_test(tls, 140, ts+21646, 0) 2791 for jj = 1; jj <= 3; jj++ { 2792 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+24, jj)) 2793 for ii = 0; ii < NROW2; ii = ii + 3 { 2794 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 2795 speedtest1_run(tls) 2796 } 2797 } 2798 speedtest1_end_test(tls) 2799 2800 speedtest1_begin_test(tls, 150, ts+21695, 0) 2801 speedtest1_prepare(tls, 2802 ts+21714, 0) 2803 for jj = 0; jj < NROW2; jj++ { 2804 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3) 2805 speedtest1_run(tls) 2806 } 2807 speedtest1_end_test(tls) 2808 2809 speedtest1_begin_test(tls, 160, ts+21829, 0) 2810 speedtest1_exec(tls, ts+2913, 0) 2811 speedtest1_prepare(tls, ts+21850, 0) 2812 for jj = 0; jj < NROW2; jj++ { 2813 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 2814 speedtest1_run(tls) 2815 } 2816 speedtest1_exec(tls, ts+3023, 0) 2817 speedtest1_end_test(tls) 2818 2819 speedtest1_exec(tls, ts+21885, 0) 2820 speedtest1_begin_test(tls, 170, ts+21933, 0) 2821 speedtest1_exec(tls, ts+21955, 0) 2822 speedtest1_end_test(tls) 2823 2824 speedtest1_exec(tls, 2825 ts+22000, 0) 2826 2827 speedtest1_begin_test(tls, 180, ts+22490, 0) 2828 speedtest1_prepare(tls, ts+22507, 0) 2829 for jj = 0; jj < NROW2; jj++ { 2830 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 2831 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 2832 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 2833 speedtest1_run(tls) 2834 } 2835 speedtest1_end_test(tls) 2836 2837 speedtest1_begin_test(tls, 190, ts+22543, 0) 2838 speedtest1_prepare(tls, ts+22560, 0) 2839 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 2840 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 2841 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 2842 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 2843 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 2844 speedtest1_run(tls) 2845 } 2846 speedtest1_end_test(tls) 2847 2848 speedtest1_begin_test(tls, 200, ts+22606, 0) 2849 speedtest1_prepare(tls, ts+22623, 0) 2850 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 2851 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 2852 speedtest1_run(tls) 2853 } 2854 speedtest1_end_test(tls) 2855 speedtest1_exec(tls, ts+3023, 0) 2856 2857 speedtest1_exec(tls, 2858 ts+22655, 0) 2859 speedtest1_begin_test(tls, 210, ts+22760, 0) 2860 speedtest1_prepare(tls, ts+22507, 0) 2861 for jj = 0; jj < NROW2; jj++ { 2862 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 2863 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 2864 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 2865 speedtest1_run(tls) 2866 } 2867 speedtest1_end_test(tls) 2868 speedtest1_begin_test(tls, 210, ts+22779, 0) 2869 speedtest1_prepare(tls, ts+22560, 0) 2870 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 2871 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{}))) 2872 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 2873 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 2874 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 2875 speedtest1_run(tls) 2876 } 2877 speedtest1_end_test(tls) 2878 speedtest1_begin_test(tls, 220, ts+22798, 0) 2879 speedtest1_prepare(tls, ts+22623, 0) 2880 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 2881 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 2882 speedtest1_run(tls) 2883 } 2884 speedtest1_end_test(tls) 2885 speedtest1_exec(tls, ts+3023, 0) 2886 } 2887 2888 func testset_debug1(tls *libc.TLS) { 2889 bp := tls.Alloc(2032) 2890 defer tls.Free(2032) 2891 2892 var i uint32 2893 var n uint32 2894 var x1 uint32 2895 var x2 uint32 2896 2897 n = uint32(g.szTest) 2898 for i = uint32(1); i <= n; i++ { 2899 x1 = swizzle(tls, i, n) 2900 x2 = swizzle(tls, x1, n) 2901 speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]int8{}))) 2902 printf(tls, ts+22817, libc.VaList(bp, i, x1, x2, bp+32)) 2903 } 2904 } 2905 2906 func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 { 2907 bp := tls.Alloc(8) 2908 defer tls.Free(8) 2909 2910 printf(tls, ts+22833, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal)))) 2911 return SQLITE_OK 2912 } 2913 2914 func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { 2915 bp := tls.Alloc(576) 2916 defer tls.Free(576) 2917 2918 var doAutovac int32 = 0 2919 var cacheSize int32 = 0 2920 var doExclusive int32 = 0 2921 var nHeap int32 = 0 2922 var mnHeap int32 = 0 2923 var doIncrvac int32 = 0 2924 var zJMode uintptr = uintptr(0) 2925 var zKey uintptr = uintptr(0) 2926 var nLook int32 = -1 2927 var szLook int32 = 0 2928 var noSync int32 = 0 2929 var pageSize int32 = 0 2930 var nPCache int32 = 0 2931 var szPCache int32 = 0 2932 var doPCache int32 = 0 2933 var showStats int32 = 0 2934 var nThread int32 = 0 2935 var mmapSize int32 = 0 2936 var memDb int32 = 0 2937 var zTSet uintptr = ts + 22856 2938 var doTrace int32 = 0 2939 var zEncoding uintptr = uintptr(0) 2940 var zDbName uintptr = uintptr(0) 2941 2942 var pHeap uintptr = uintptr(0) 2943 var pLook uintptr = uintptr(0) 2944 var pPCache uintptr = uintptr(0) 2945 2946 var i int32 2947 var rc int32 2948 2949 printf(tls, ts+22861, 2950 libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls))) 2951 2952 g.zWR = ts + 2269 2953 g.zNN = ts + 2269 2954 g.zPK = ts + 22896 2955 g.szTest = 100 2956 g.nRepeat = 1 2957 for i = 1; i < argc; i++ { 2958 var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) 2959 if int32(*(*int8)(unsafe.Pointer(z))) == '-' { 2960 for __ccgo := true; __ccgo; __ccgo = int32(*(*int8)(unsafe.Pointer(z))) == '-' { 2961 z++ 2962 } 2963 if libc.Xstrcmp(tls, z, ts+22903) == 0 { 2964 doAutovac = 1 2965 } else if libc.Xstrcmp(tls, z, ts+22914) == 0 { 2966 if i >= argc-1 { 2967 fatal_error(tls, ts+22924, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 2968 } 2969 i++ 2970 cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) 2971 } else if libc.Xstrcmp(tls, z, ts+22948) == 0 { 2972 doExclusive = 1 2973 } else if libc.Xstrcmp(tls, z, ts+22958) == 0 { 2974 g.doCheckpoint = 1 2975 } else if libc.Xstrcmp(tls, z, ts+22969) == 0 { 2976 g.bSqlOnly = 1 2977 g.bExplain = 1 2978 } else if libc.Xstrcmp(tls, z, ts+22977) == 0 { 2979 if i >= argc-2 { 2980 fatal_error(tls, ts+22982, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 2981 } 2982 nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 2983 mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8))) 2984 i = i + 2 2985 } else if libc.Xstrcmp(tls, z, ts+23007) == 0 { 2986 doIncrvac = 1 2987 } else if libc.Xstrcmp(tls, z, ts+23018) == 0 { 2988 if i >= argc-1 { 2989 fatal_error(tls, ts+22924, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 2990 } 2991 zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) 2992 } else if libc.Xstrcmp(tls, z, ts+23026) == 0 { 2993 if i >= argc-1 { 2994 fatal_error(tls, ts+22924, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 2995 } 2996 zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) 2997 } else if libc.Xstrcmp(tls, z, ts+23030) == 0 { 2998 if i >= argc-2 { 2999 fatal_error(tls, ts+22982, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3000 } 3001 nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 3002 szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8))) 3003 i = i + 2 3004 } else if libc.Xstrcmp(tls, z, ts+23040) == 0 { 3005 memDb = 1 3006 } else if libc.Xstrcmp(tls, z, ts+23046) == 0 { 3007 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0) 3008 } else if libc.Xstrcmp(tls, z, ts+23058) == 0 { 3009 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0)) 3010 } else if libc.Xstrcmp(tls, z, ts+23068) == 0 { 3011 if i >= argc-1 { 3012 fatal_error(tls, ts+22924, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3013 } 3014 mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3015 } else if libc.Xstrcmp(tls, z, ts+23073) == 0 { 3016 noSync = 1 3017 } else if libc.Xstrcmp(tls, z, ts+23080) == 0 { 3018 g.zNN = ts + 23088 3019 } else if libc.Xstrcmp(tls, z, ts+23097) == 0 { 3020 if i >= argc-1 { 3021 fatal_error(tls, ts+22924, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3022 } 3023 i++ 3024 if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23104) == 0 { 3025 g.hashFile = libc.X__acrt_iob_func(tls, uint32(1)) 3026 } else { 3027 g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23106) 3028 if g.hashFile == uintptr(0) { 3029 fatal_error(tls, ts+23109, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3030 } 3031 } 3032 } else if libc.Xstrcmp(tls, z, ts+23139) == 0 { 3033 if i >= argc-1 { 3034 fatal_error(tls, ts+22924, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3035 } 3036 pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3037 } else if libc.Xstrcmp(tls, z, ts+23148) == 0 { 3038 if i >= argc-2 { 3039 fatal_error(tls, ts+22982, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3040 } 3041 nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 3042 szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8))) 3043 doPCache = 1 3044 i = i + 2 3045 } else if libc.Xstrcmp(tls, z, ts+23155) == 0 { 3046 g.zPK = ts + 23166 3047 } else if libc.Xstrcmp(tls, z, ts+23178) == 0 { 3048 if i >= argc-1 { 3049 fatal_error(tls, ts+22982, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3050 } 3051 g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 3052 i = i + 1 3053 } else if libc.Xstrcmp(tls, z, ts+23185) == 0 { 3054 g.bReprepare = 1 3055 } else if libc.Xstrcmp(tls, z, ts+23195) == 0 { 3056 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0) 3057 } else if libc.Xstrcmp(tls, z, ts+23206) == 0 { 3058 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0) 3059 } else if libc.Xstrcmp(tls, z, ts+23219) == 0 { 3060 g.bSqlOnly = 1 3061 } else if libc.Xstrcmp(tls, z, ts+23227) == 0 { 3062 g.bMemShrink = 1 3063 } else if libc.Xstrcmp(tls, z, ts+23241) == 0 { 3064 if i >= argc-1 { 3065 fatal_error(tls, ts+22924, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3066 } 3067 g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3068 } else if libc.Xstrcmp(tls, z, ts+23246) == 0 { 3069 showStats = 1 3070 } else if libc.Xstrcmp(tls, z, ts+23252) == 0 { 3071 if i >= argc-1 { 3072 fatal_error(tls, ts+22924, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3073 } 3074 i++ 3075 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 { 3076 fatal_error(tls, ts+23257, 0) 3077 } 3078 g.eTemp = int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) - '0' 3079 } else if libc.Xstrcmp(tls, z, ts+23310) == 0 { 3080 if i >= argc-1 { 3081 fatal_error(tls, ts+22924, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3082 } 3083 zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) 3084 } else if libc.Xstrcmp(tls, z, ts+23318) == 0 { 3085 doTrace = 1 3086 } else if libc.Xstrcmp(tls, z, ts+23324) == 0 { 3087 if i >= argc-1 { 3088 fatal_error(tls, ts+22924, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3089 } 3090 nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3091 } else if libc.Xstrcmp(tls, z, ts+23332) == 0 { 3092 zEncoding = ts + 23332 3093 } else if libc.Xstrcmp(tls, z, ts+23340) == 0 { 3094 zEncoding = ts + 23340 3095 } else if libc.Xstrcmp(tls, z, ts+23348) == 0 { 3096 g.bVerify = 1 3097 HashInit(tls) 3098 } else if libc.Xstrcmp(tls, z, ts+23355) == 0 { 3099 if i >= argc-1 { 3100 fatal_error(tls, ts+22924, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3101 } 3102 g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3103 } else if libc.Xstrcmp(tls, z, ts+23363) == 0 { 3104 if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) { 3105 } else if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) { 3106 g.zWR = ts + 23392 3107 } else { 3108 g.zWR = ts + 6036 3109 } 3110 g.zPK = ts + 23166 3111 } else if libc.Xstrcmp(tls, z, ts+23413) == 0 { 3112 if libc.Xstrstr(tls, g.zWR, ts+23385) != uintptr(0) { 3113 } else if libc.Xstrstr(tls, g.zWR, ts+23377) != uintptr(0) { 3114 g.zWR = ts + 23392 3115 } else { 3116 g.zWR = ts + 23385 3117 } 3118 } else if libc.Xstrcmp(tls, z, ts+23420) == 0 || libc.Xstrcmp(tls, z, ts+23425) == 0 { 3119 printf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv)))) 3120 libc.Xexit(tls, 0) 3121 } else { 3122 fatal_error(tls, ts+23427, 3123 libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) 3124 } 3125 } else if zDbName == uintptr(0) { 3126 zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) 3127 } else { 3128 fatal_error(tls, ts+23468, 3129 libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) 3130 } 3131 } 3132 if zDbName != uintptr(0) { 3133 libc.Xunlink(tls, zDbName) 3134 } 3135 if nHeap > 0 { 3136 pHeap = libc.Xmalloc(tls, uint64(nHeap)) 3137 if pHeap == uintptr(0) { 3138 fatal_error(tls, ts+23511, libc.VaList(bp+192, nHeap)) 3139 } 3140 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap)) 3141 if rc != 0 { 3142 fatal_error(tls, ts+23541, libc.VaList(bp+224, rc)) 3143 } 3144 } 3145 if doPCache != 0 { 3146 if nPCache > 0 && szPCache > 0 { 3147 pPCache = libc.Xmalloc(tls, uint64(sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3148 if pPCache == uintptr(0) { 3149 fatal_error(tls, ts+23572, 3150 libc.VaList(bp+232, sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3151 } 3152 } 3153 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache)) 3154 if rc != 0 { 3155 fatal_error(tls, ts+23606, libc.VaList(bp+264, rc)) 3156 } 3157 } 3158 if nLook >= 0 { 3159 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0)) 3160 } 3161 sqlite3.Xsqlite3_initialize(tls) 3162 3163 if sqlite3.Xsqlite3_open(tls, func() uintptr { 3164 if memDb != 0 { 3165 return ts + 23639 3166 } 3167 return zDbName 3168 }(), uintptr(unsafe.Pointer(&g))) != 0 { 3169 fatal_error(tls, ts+23648, libc.VaList(bp+288, zDbName)) 3170 } 3171 if nLook > 0 && szLook > 0 { 3172 pLook = libc.Xmalloc(tls, uint64(nLook*szLook)) 3173 rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook)) 3174 if rc != 0 { 3175 fatal_error(tls, ts+23679, libc.VaList(bp+320, rc)) 3176 } 3177 } 3178 if g.nReserve > 0 { 3179 sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+72) 3180 } 3181 3182 sqlite3.Xsqlite3_create_function(tls, g.db, ts+23715, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { 3183 f func(*libc.TLS, uintptr, int32, uintptr) 3184 }{randomFunc})), uintptr(0), uintptr(0)) 3185 if doTrace != 0 { 3186 sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3187 f func(*libc.TLS, uintptr, uintptr) 3188 }{traceCallback})), uintptr(0)) 3189 } 3190 if memDb > 0 { 3191 speedtest1_exec(tls, ts+23722, 0) 3192 } 3193 if mmapSize > 0 { 3194 speedtest1_exec(tls, ts+23747, libc.VaList(bp+328, mmapSize)) 3195 } 3196 speedtest1_exec(tls, ts+23767, libc.VaList(bp+336, nThread)) 3197 if zKey != 0 { 3198 speedtest1_exec(tls, ts+23785, libc.VaList(bp+344, zKey)) 3199 } 3200 if zEncoding != 0 { 3201 speedtest1_exec(tls, ts+23802, libc.VaList(bp+352, zEncoding)) 3202 } 3203 if doAutovac != 0 { 3204 speedtest1_exec(tls, ts+23821, 0) 3205 } else if doIncrvac != 0 { 3206 speedtest1_exec(tls, ts+23845, 0) 3207 } 3208 if pageSize != 0 { 3209 speedtest1_exec(tls, ts+23876, libc.VaList(bp+360, pageSize)) 3210 } 3211 if cacheSize != 0 { 3212 speedtest1_exec(tls, ts+23896, libc.VaList(bp+368, cacheSize)) 3213 } 3214 if noSync != 0 { 3215 speedtest1_exec(tls, ts+23917, 0) 3216 } 3217 if doExclusive != 0 { 3218 speedtest1_exec(tls, ts+23940, 0) 3219 } 3220 if zJMode != 0 { 3221 speedtest1_exec(tls, ts+23970, libc.VaList(bp+376, zJMode)) 3222 } 3223 3224 if g.bExplain != 0 { 3225 printf(tls, ts+23993, 0) 3226 } 3227 for __ccgo1 := true; __ccgo1; __ccgo1 = *(*int8)(unsafe.Pointer(zTSet)) != 0 { 3228 var zThisTest uintptr = zTSet 3229 var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',') 3230 if zComma != 0 { 3231 *(*int8)(unsafe.Pointer(zComma)) = int8(0) 3232 zTSet = zComma + uintptr(1) 3233 } else { 3234 zTSet = ts + 2269 3235 } 3236 if g.iTotal > int64(0) || zComma != uintptr(0) { 3237 printf(tls, ts+24012, libc.VaList(bp+384, zThisTest)) 3238 } 3239 if libc.Xstrcmp(tls, zThisTest, ts+22856) == 0 { 3240 testset_main(tls) 3241 } else if libc.Xstrcmp(tls, zThisTest, ts+24039) == 0 { 3242 testset_debug1(tls) 3243 } else if libc.Xstrcmp(tls, zThisTest, ts+24046) == 0 { 3244 testset_orm(tls) 3245 } else if libc.Xstrcmp(tls, zThisTest, ts+24050) == 0 { 3246 testset_cte(tls) 3247 } else if libc.Xstrcmp(tls, zThisTest, ts+24054) == 0 { 3248 testset_fp(tls) 3249 } else if libc.Xstrcmp(tls, zThisTest, ts+24057) == 0 { 3250 testset_trigger(tls) 3251 } else if libc.Xstrcmp(tls, zThisTest, ts+24065) == 0 { 3252 testset_rtree(tls, 6, 147) 3253 } else { 3254 fatal_error(tls, 3255 ts+24071, 3256 libc.VaList(bp+392, zThisTest)) 3257 } 3258 if *(*int8)(unsafe.Pointer(zTSet)) != 0 { 3259 var zSql uintptr 3260 var zObj uintptr 3261 speedtest1_begin_test(tls, 999, ts+24140, 0) 3262 for 1 != 0 { 3263 zObj = speedtest1_once(tls, 3264 ts+24159, 0) 3265 if zObj == uintptr(0) { 3266 break 3267 } 3268 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+400, zObj)) 3269 speedtest1_exec(tls, zSql, 0) 3270 sqlite3.Xsqlite3_free(tls, zSql) 3271 sqlite3.Xsqlite3_free(tls, zObj) 3272 } 3273 for 1 != 0 { 3274 zObj = speedtest1_once(tls, 3275 ts+24250, 0) 3276 if zObj == uintptr(0) { 3277 break 3278 } 3279 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24229, libc.VaList(bp+408, zObj)) 3280 speedtest1_exec(tls, zSql, 0) 3281 sqlite3.Xsqlite3_free(tls, zSql) 3282 sqlite3.Xsqlite3_free(tls, zObj) 3283 } 3284 speedtest1_end_test(tls) 3285 } 3286 } 3287 speedtest1_final(tls) 3288 3289 if showStats != 0 { 3290 sqlite3.Xsqlite3_exec(tls, g.db, ts+24320, *(*uintptr)(unsafe.Pointer(&struct { 3291 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 3292 }{xCompileOptions})), uintptr(0), uintptr(0)) 3293 } 3294 3295 if showStats != 0 { 3296 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568, bp+572, 0) 3297 printf(tls, ts+24343, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3298 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568, bp+572, 0) 3299 printf(tls, ts+24388, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572)))) 3300 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568, bp+572, 0) 3301 printf(tls, ts+24424, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572)))) 3302 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568, bp+572, 0) 3303 printf(tls, ts+24460, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572)))) 3304 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568, bp+572, 0) 3305 printf(tls, ts+24496, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568)))) 3306 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568, bp+572, 1) 3307 printf(tls, ts+24538, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568)))) 3308 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568, bp+572, 1) 3309 printf(tls, ts+24574, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568)))) 3310 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568, bp+572, 1) 3311 printf(tls, ts+24610, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568)))) 3312 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568, bp+572, 0) 3313 printf(tls, ts+24646, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568)))) 3314 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568, bp+572, 0) 3315 printf(tls, ts+24688, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568)))) 3316 } 3317 3318 sqlite3.Xsqlite3_close(tls, g.db) 3319 3320 if showStats != 0 { 3321 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568, bp+572, 0) 3322 printf(tls, ts+24730, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3323 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568, bp+572, 0) 3324 printf(tls, ts+24775, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3325 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568, bp+572, 0) 3326 printf(tls, ts+24820, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3327 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568, bp+572, 0) 3328 printf(tls, ts+24865, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572)))) 3329 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568, bp+572, 0) 3330 printf(tls, ts+24907, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572)))) 3331 } 3332 3333 libc.Xfree(tls, pLook) 3334 libc.Xfree(tls, pPCache) 3335 libc.Xfree(tls, pHeap) 3336 return 0 3337 } 3338 3339 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" 3340 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data