gitlab.com/CoiaPrant/sqlite3@v1.19.1/speedtest1/main_linux_riscv64.go (about) 1 // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_linux_riscv64.go -trace-translation-units testdata/sqlite-src-3390300/test/speedtest1.c -Itestdata/sqlite-amalgamation-3390300 -l gitlab.com/CoiaPrant/sqlite3/lib -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. 2 3 package main 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 "gitlab.com/CoiaPrant/sqlite3/lib" 14 ) 15 16 var _ = math.Pi 17 var _ reflect.Kind 18 var _ atomic.Value 19 var _ unsafe.Pointer 20 var _ *libc.TLS 21 var _ types.Size_t 22 23 func main() { libc.Start(main1) } 24 25 const ( 26 BIG_ENDIAN = 4321 27 BUFSIZ = 8192 28 BYTE_ORDER = 1234 29 EOF = -1 30 EXIT_FAILURE = 1 31 EXIT_SUCCESS = 0 32 FD_SETSIZE = 1024 33 FILENAME_MAX = 4096 34 FOPEN_MAX = 16 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_LOCK = 1 42 F_OK = 0 43 F_TEST = 3 44 F_TLOCK = 2 45 F_ULOCK = 0 46 HAVE_USLEEP = 1 47 LITTLE_ENDIAN = 1234 48 L_INCR = 1 49 L_SET = 0 50 L_XTND = 2 51 L_ctermid = 9 52 L_tmpnam = 20 53 NAMEWIDTH = 60 54 NDEBUG = 1 55 NOT_WITHIN = 0 56 PARTLY_WITHIN = 1 57 PDP_ENDIAN = 3412 58 P_tmpdir = "/tmp" 59 RAND_MAX = 2147483647 60 R_OK = 4 61 SEEK_CUR = 1 62 SEEK_END = 2 63 SEEK_SET = 0 64 SQLITE3_H = 0 65 SQLITE3_TEXT = 3 66 SQLITE_ABORT = 4 67 SQLITE_ABORT_ROLLBACK = 516 68 SQLITE_ACCESS_EXISTS = 0 69 SQLITE_ACCESS_READ = 2 70 SQLITE_ACCESS_READWRITE = 1 71 SQLITE_ALTER_TABLE = 26 72 SQLITE_ANALYZE = 28 73 SQLITE_ANY = 5 74 SQLITE_API = 0 75 SQLITE_APICALL = 0 76 SQLITE_ATTACH = 24 77 SQLITE_AUTH = 23 78 SQLITE_AUTH_USER = 279 79 SQLITE_BLOB = 4 80 SQLITE_BUSY = 5 81 SQLITE_BUSY_RECOVERY = 261 82 SQLITE_BUSY_SNAPSHOT = 517 83 SQLITE_BUSY_TIMEOUT = 773 84 SQLITE_CALLBACK = 0 85 SQLITE_CANTOPEN = 14 86 SQLITE_CANTOPEN_CONVPATH = 1038 87 SQLITE_CANTOPEN_DIRTYWAL = 1294 88 SQLITE_CANTOPEN_FULLPATH = 782 89 SQLITE_CANTOPEN_ISDIR = 526 90 SQLITE_CANTOPEN_NOTEMPDIR = 270 91 SQLITE_CANTOPEN_SYMLINK = 1550 92 SQLITE_CDECL = 0 93 SQLITE_CHANGESETAPPLY_INVERT = 0x0002 94 SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 95 SQLITE_CHANGESETSTART_INVERT = 0x0002 96 SQLITE_CHANGESET_ABORT = 2 97 SQLITE_CHANGESET_CONFLICT = 3 98 SQLITE_CHANGESET_CONSTRAINT = 4 99 SQLITE_CHANGESET_DATA = 1 100 SQLITE_CHANGESET_FOREIGN_KEY = 5 101 SQLITE_CHANGESET_NOTFOUND = 2 102 SQLITE_CHANGESET_OMIT = 0 103 SQLITE_CHANGESET_REPLACE = 1 104 SQLITE_CHECKPOINT_FULL = 1 105 SQLITE_CHECKPOINT_PASSIVE = 0 106 SQLITE_CHECKPOINT_RESTART = 2 107 SQLITE_CHECKPOINT_TRUNCATE = 3 108 SQLITE_CONFIG_COVERING_INDEX_SCAN = 20 109 SQLITE_CONFIG_GETMALLOC = 5 110 SQLITE_CONFIG_GETMUTEX = 11 111 SQLITE_CONFIG_GETPCACHE = 15 112 SQLITE_CONFIG_GETPCACHE2 = 19 113 SQLITE_CONFIG_HEAP = 8 114 SQLITE_CONFIG_LOG = 16 115 SQLITE_CONFIG_LOOKASIDE = 13 116 SQLITE_CONFIG_MALLOC = 4 117 SQLITE_CONFIG_MEMDB_MAXSIZE = 29 118 SQLITE_CONFIG_MEMSTATUS = 9 119 SQLITE_CONFIG_MMAP_SIZE = 22 120 SQLITE_CONFIG_MULTITHREAD = 2 121 SQLITE_CONFIG_MUTEX = 10 122 SQLITE_CONFIG_PAGECACHE = 7 123 SQLITE_CONFIG_PCACHE = 14 124 SQLITE_CONFIG_PCACHE2 = 18 125 SQLITE_CONFIG_PCACHE_HDRSZ = 24 126 SQLITE_CONFIG_PMASZ = 25 127 SQLITE_CONFIG_SCRATCH = 6 128 SQLITE_CONFIG_SERIALIZED = 3 129 SQLITE_CONFIG_SINGLETHREAD = 1 130 SQLITE_CONFIG_SMALL_MALLOC = 27 131 SQLITE_CONFIG_SORTERREF_SIZE = 28 132 SQLITE_CONFIG_SQLLOG = 21 133 SQLITE_CONFIG_STMTJRNL_SPILL = 26 134 SQLITE_CONFIG_URI = 17 135 SQLITE_CONFIG_WIN32_HEAPSIZE = 23 136 SQLITE_CONSTRAINT = 19 137 SQLITE_CONSTRAINT_CHECK = 275 138 SQLITE_CONSTRAINT_COMMITHOOK = 531 139 SQLITE_CONSTRAINT_DATATYPE = 3091 140 SQLITE_CONSTRAINT_FOREIGNKEY = 787 141 SQLITE_CONSTRAINT_FUNCTION = 1043 142 SQLITE_CONSTRAINT_NOTNULL = 1299 143 SQLITE_CONSTRAINT_PINNED = 2835 144 SQLITE_CONSTRAINT_PRIMARYKEY = 1555 145 SQLITE_CONSTRAINT_ROWID = 2579 146 SQLITE_CONSTRAINT_TRIGGER = 1811 147 SQLITE_CONSTRAINT_UNIQUE = 2067 148 SQLITE_CONSTRAINT_VTAB = 2323 149 SQLITE_COPY = 0 150 SQLITE_CORE = 1 151 SQLITE_CORRUPT = 11 152 SQLITE_CORRUPT_INDEX = 779 153 SQLITE_CORRUPT_SEQUENCE = 523 154 SQLITE_CORRUPT_VTAB = 267 155 SQLITE_CREATE_INDEX = 1 156 SQLITE_CREATE_TABLE = 2 157 SQLITE_CREATE_TEMP_INDEX = 3 158 SQLITE_CREATE_TEMP_TABLE = 4 159 SQLITE_CREATE_TEMP_TRIGGER = 5 160 SQLITE_CREATE_TEMP_VIEW = 6 161 SQLITE_CREATE_TRIGGER = 7 162 SQLITE_CREATE_VIEW = 8 163 SQLITE_CREATE_VTABLE = 29 164 SQLITE_DBCONFIG_DEFENSIVE = 1010 165 SQLITE_DBCONFIG_DQS_DDL = 1014 166 SQLITE_DBCONFIG_DQS_DML = 1013 167 SQLITE_DBCONFIG_ENABLE_FKEY = 1002 168 SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004 169 SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005 170 SQLITE_DBCONFIG_ENABLE_QPSG = 1007 171 SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 172 SQLITE_DBCONFIG_ENABLE_VIEW = 1015 173 SQLITE_DBCONFIG_LEGACY_ALTER_TABLE = 1012 174 SQLITE_DBCONFIG_LEGACY_FILE_FORMAT = 1016 175 SQLITE_DBCONFIG_LOOKASIDE = 1001 176 SQLITE_DBCONFIG_MAINDBNAME = 1000 177 SQLITE_DBCONFIG_MAX = 1017 178 SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006 179 SQLITE_DBCONFIG_RESET_DATABASE = 1009 180 SQLITE_DBCONFIG_TRIGGER_EQP = 1008 181 SQLITE_DBCONFIG_TRUSTED_SCHEMA = 1017 182 SQLITE_DBCONFIG_WRITABLE_SCHEMA = 1011 183 SQLITE_DBSTATUS_CACHE_HIT = 7 184 SQLITE_DBSTATUS_CACHE_MISS = 8 185 SQLITE_DBSTATUS_CACHE_SPILL = 12 186 SQLITE_DBSTATUS_CACHE_USED = 1 187 SQLITE_DBSTATUS_CACHE_USED_SHARED = 11 188 SQLITE_DBSTATUS_CACHE_WRITE = 9 189 SQLITE_DBSTATUS_DEFERRED_FKS = 10 190 SQLITE_DBSTATUS_LOOKASIDE_HIT = 4 191 SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6 192 SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5 193 SQLITE_DBSTATUS_LOOKASIDE_USED = 0 194 SQLITE_DBSTATUS_MAX = 12 195 SQLITE_DBSTATUS_SCHEMA_USED = 2 196 SQLITE_DBSTATUS_STMT_USED = 3 197 SQLITE_DELETE = 9 198 SQLITE_DENY = 1 199 SQLITE_DEPRECATED = 0 200 SQLITE_DESERIALIZE_FREEONCLOSE = 1 201 SQLITE_DESERIALIZE_READONLY = 4 202 SQLITE_DESERIALIZE_RESIZEABLE = 2 203 SQLITE_DETACH = 25 204 SQLITE_DETERMINISTIC = 0x000000800 205 SQLITE_DIRECTONLY = 0x000080000 206 SQLITE_DONE = 101 207 SQLITE_DROP_INDEX = 10 208 SQLITE_DROP_TABLE = 11 209 SQLITE_DROP_TEMP_INDEX = 12 210 SQLITE_DROP_TEMP_TABLE = 13 211 SQLITE_DROP_TEMP_TRIGGER = 14 212 SQLITE_DROP_TEMP_VIEW = 15 213 SQLITE_DROP_TRIGGER = 16 214 SQLITE_DROP_VIEW = 17 215 SQLITE_DROP_VTABLE = 30 216 SQLITE_EMPTY = 16 217 SQLITE_ENABLE_COLUMN_METADATA = 1 218 SQLITE_ENABLE_FTS5 = 1 219 SQLITE_ENABLE_GEOPOLY = 1 220 SQLITE_ENABLE_MATH_FUNCTIONS = 1 221 SQLITE_ENABLE_MEMORY_MANAGEMENT = 1 222 SQLITE_ENABLE_OFFSET_SQL_FUNC = 1 223 SQLITE_ENABLE_PREUPDATE_HOOK = 1 224 SQLITE_ENABLE_RBU = 1 225 SQLITE_ENABLE_RTREE = 1 226 SQLITE_ENABLE_SESSION = 1 227 SQLITE_ENABLE_SNAPSHOT = 1 228 SQLITE_ENABLE_STAT4 = 1 229 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 230 SQLITE_ERROR = 1 231 SQLITE_ERROR_MISSING_COLLSEQ = 257 232 SQLITE_ERROR_RETRY = 513 233 SQLITE_ERROR_SNAPSHOT = 769 234 SQLITE_EXPERIMENTAL = 0 235 SQLITE_FAIL = 3 236 SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31 237 SQLITE_FCNTL_BUSYHANDLER = 15 238 SQLITE_FCNTL_CHUNK_SIZE = 6 239 SQLITE_FCNTL_CKPT_DONE = 37 240 SQLITE_FCNTL_CKPT_START = 39 241 SQLITE_FCNTL_CKSM_FILE = 41 242 SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32 243 SQLITE_FCNTL_COMMIT_PHASETWO = 22 244 SQLITE_FCNTL_DATA_VERSION = 35 245 SQLITE_FCNTL_EXTERNAL_READER = 40 246 SQLITE_FCNTL_FILE_POINTER = 7 247 SQLITE_FCNTL_GET_LOCKPROXYFILE = 2 248 SQLITE_FCNTL_HAS_MOVED = 20 249 SQLITE_FCNTL_JOURNAL_POINTER = 28 250 SQLITE_FCNTL_LAST_ERRNO = 4 251 SQLITE_FCNTL_LOCKSTATE = 1 252 SQLITE_FCNTL_LOCK_TIMEOUT = 34 253 SQLITE_FCNTL_MMAP_SIZE = 18 254 SQLITE_FCNTL_OVERWRITE = 11 255 SQLITE_FCNTL_PDB = 30 256 SQLITE_FCNTL_PERSIST_WAL = 10 257 SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13 258 SQLITE_FCNTL_PRAGMA = 14 259 SQLITE_FCNTL_RBU = 26 260 SQLITE_FCNTL_RESERVE_BYTES = 38 261 SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33 262 SQLITE_FCNTL_SET_LOCKPROXYFILE = 3 263 SQLITE_FCNTL_SIZE_HINT = 5 264 SQLITE_FCNTL_SIZE_LIMIT = 36 265 SQLITE_FCNTL_SYNC = 21 266 SQLITE_FCNTL_SYNC_OMITTED = 8 267 SQLITE_FCNTL_TEMPFILENAME = 16 268 SQLITE_FCNTL_TRACE = 19 269 SQLITE_FCNTL_VFSNAME = 12 270 SQLITE_FCNTL_VFS_POINTER = 27 271 SQLITE_FCNTL_WAL_BLOCK = 24 272 SQLITE_FCNTL_WIN32_AV_RETRY = 9 273 SQLITE_FCNTL_WIN32_GET_HANDLE = 29 274 SQLITE_FCNTL_WIN32_SET_HANDLE = 23 275 SQLITE_FCNTL_ZIPVFS = 25 276 SQLITE_FLOAT = 2 277 SQLITE_FORMAT = 24 278 SQLITE_FULL = 13 279 SQLITE_FUNCTION = 31 280 SQLITE_GET_LOCKPROXYFILE = 2 281 SQLITE_IGNORE = 2 282 SQLITE_INDEX_CONSTRAINT_EQ = 2 283 SQLITE_INDEX_CONSTRAINT_FUNCTION = 150 284 SQLITE_INDEX_CONSTRAINT_GE = 32 285 SQLITE_INDEX_CONSTRAINT_GLOB = 66 286 SQLITE_INDEX_CONSTRAINT_GT = 4 287 SQLITE_INDEX_CONSTRAINT_IS = 72 288 SQLITE_INDEX_CONSTRAINT_ISNOT = 69 289 SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70 290 SQLITE_INDEX_CONSTRAINT_ISNULL = 71 291 SQLITE_INDEX_CONSTRAINT_LE = 8 292 SQLITE_INDEX_CONSTRAINT_LIKE = 65 293 SQLITE_INDEX_CONSTRAINT_LIMIT = 73 294 SQLITE_INDEX_CONSTRAINT_LT = 16 295 SQLITE_INDEX_CONSTRAINT_MATCH = 64 296 SQLITE_INDEX_CONSTRAINT_NE = 68 297 SQLITE_INDEX_CONSTRAINT_OFFSET = 74 298 SQLITE_INDEX_CONSTRAINT_REGEXP = 67 299 SQLITE_INDEX_SCAN_UNIQUE = 1 300 SQLITE_INNOCUOUS = 0x000200000 301 SQLITE_INSERT = 18 302 SQLITE_INTEGER = 1 303 SQLITE_INTERNAL = 2 304 SQLITE_INTERRUPT = 9 305 SQLITE_IOCAP_ATOMIC = 0x00000001 306 SQLITE_IOCAP_ATOMIC16K = 0x00000040 307 SQLITE_IOCAP_ATOMIC1K = 0x00000004 308 SQLITE_IOCAP_ATOMIC2K = 0x00000008 309 SQLITE_IOCAP_ATOMIC32K = 0x00000080 310 SQLITE_IOCAP_ATOMIC4K = 0x00000010 311 SQLITE_IOCAP_ATOMIC512 = 0x00000002 312 SQLITE_IOCAP_ATOMIC64K = 0x00000100 313 SQLITE_IOCAP_ATOMIC8K = 0x00000020 314 SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000 315 SQLITE_IOCAP_IMMUTABLE = 0x00002000 316 SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000 317 SQLITE_IOCAP_SAFE_APPEND = 0x00000200 318 SQLITE_IOCAP_SEQUENTIAL = 0x00000400 319 SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800 320 SQLITE_IOERR = 10 321 SQLITE_IOERR_ACCESS = 3338 322 SQLITE_IOERR_AUTH = 7178 323 SQLITE_IOERR_BEGIN_ATOMIC = 7434 324 SQLITE_IOERR_BLOCKED = 2826 325 SQLITE_IOERR_CHECKRESERVEDLOCK = 3594 326 SQLITE_IOERR_CLOSE = 4106 327 SQLITE_IOERR_COMMIT_ATOMIC = 7690 328 SQLITE_IOERR_CONVPATH = 6666 329 SQLITE_IOERR_CORRUPTFS = 8458 330 SQLITE_IOERR_DATA = 8202 331 SQLITE_IOERR_DELETE = 2570 332 SQLITE_IOERR_DELETE_NOENT = 5898 333 SQLITE_IOERR_DIR_CLOSE = 4362 334 SQLITE_IOERR_DIR_FSYNC = 1290 335 SQLITE_IOERR_FSTAT = 1802 336 SQLITE_IOERR_FSYNC = 1034 337 SQLITE_IOERR_GETTEMPPATH = 6410 338 SQLITE_IOERR_LOCK = 3850 339 SQLITE_IOERR_MMAP = 6154 340 SQLITE_IOERR_NOMEM = 3082 341 SQLITE_IOERR_RDLOCK = 2314 342 SQLITE_IOERR_READ = 266 343 SQLITE_IOERR_ROLLBACK_ATOMIC = 7946 344 SQLITE_IOERR_SEEK = 5642 345 SQLITE_IOERR_SHMLOCK = 5130 346 SQLITE_IOERR_SHMMAP = 5386 347 SQLITE_IOERR_SHMOPEN = 4618 348 SQLITE_IOERR_SHMSIZE = 4874 349 SQLITE_IOERR_SHORT_READ = 522 350 SQLITE_IOERR_TRUNCATE = 1546 351 SQLITE_IOERR_UNLOCK = 2058 352 SQLITE_IOERR_VNODE = 6922 353 SQLITE_IOERR_WRITE = 778 354 SQLITE_LAST_ERRNO = 4 355 SQLITE_LIKE_DOESNT_MATCH_BLOBS = 1 356 SQLITE_LIMIT_ATTACHED = 7 357 SQLITE_LIMIT_COLUMN = 2 358 SQLITE_LIMIT_COMPOUND_SELECT = 4 359 SQLITE_LIMIT_EXPR_DEPTH = 3 360 SQLITE_LIMIT_FUNCTION_ARG = 6 361 SQLITE_LIMIT_LENGTH = 0 362 SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8 363 SQLITE_LIMIT_SQL_LENGTH = 1 364 SQLITE_LIMIT_TRIGGER_DEPTH = 10 365 SQLITE_LIMIT_VARIABLE_NUMBER = 9 366 SQLITE_LIMIT_VDBE_OP = 5 367 SQLITE_LIMIT_WORKER_THREADS = 11 368 SQLITE_LOCKED = 6 369 SQLITE_LOCKED_SHAREDCACHE = 262 370 SQLITE_LOCKED_VTAB = 518 371 SQLITE_LOCK_EXCLUSIVE = 4 372 SQLITE_LOCK_NONE = 0 373 SQLITE_LOCK_PENDING = 3 374 SQLITE_LOCK_RESERVED = 2 375 SQLITE_LOCK_SHARED = 1 376 SQLITE_MISMATCH = 20 377 SQLITE_MISUSE = 21 378 SQLITE_MUTEX_APPDEF = 1 379 SQLITE_MUTEX_FAST = 0 380 SQLITE_MUTEX_NOOP = 1 381 SQLITE_MUTEX_RECURSIVE = 1 382 SQLITE_MUTEX_STATIC_APP1 = 8 383 SQLITE_MUTEX_STATIC_APP2 = 9 384 SQLITE_MUTEX_STATIC_APP3 = 10 385 SQLITE_MUTEX_STATIC_LRU = 6 386 SQLITE_MUTEX_STATIC_LRU2 = 7 387 SQLITE_MUTEX_STATIC_MAIN = 2 388 SQLITE_MUTEX_STATIC_MASTER = 2 389 SQLITE_MUTEX_STATIC_MEM = 3 390 SQLITE_MUTEX_STATIC_MEM2 = 4 391 SQLITE_MUTEX_STATIC_OPEN = 4 392 SQLITE_MUTEX_STATIC_PMEM = 7 393 SQLITE_MUTEX_STATIC_PRNG = 5 394 SQLITE_MUTEX_STATIC_VFS1 = 11 395 SQLITE_MUTEX_STATIC_VFS2 = 12 396 SQLITE_MUTEX_STATIC_VFS3 = 13 397 SQLITE_NOLFS = 22 398 SQLITE_NOMEM = 7 399 SQLITE_NOTADB = 26 400 SQLITE_NOTFOUND = 12 401 SQLITE_NOTICE = 27 402 SQLITE_NOTICE_RECOVER_ROLLBACK = 539 403 SQLITE_NOTICE_RECOVER_WAL = 283 404 SQLITE_NULL = 5 405 SQLITE_OK = 0 406 SQLITE_OK_LOAD_PERMANENTLY = 256 407 SQLITE_OK_SYMLINK = 512 408 SQLITE_OPEN_AUTOPROXY = 0x00000020 409 SQLITE_OPEN_CREATE = 0x00000004 410 SQLITE_OPEN_DELETEONCLOSE = 0x00000008 411 SQLITE_OPEN_EXCLUSIVE = 0x00000010 412 SQLITE_OPEN_EXRESCODE = 0x02000000 413 SQLITE_OPEN_FULLMUTEX = 0x00010000 414 SQLITE_OPEN_MAIN_DB = 0x00000100 415 SQLITE_OPEN_MAIN_JOURNAL = 0x00000800 416 SQLITE_OPEN_MASTER_JOURNAL = 0x00004000 417 SQLITE_OPEN_MEMORY = 0x00000080 418 SQLITE_OPEN_NOFOLLOW = 0x01000000 419 SQLITE_OPEN_NOMUTEX = 0x00008000 420 SQLITE_OPEN_PRIVATECACHE = 0x00040000 421 SQLITE_OPEN_READONLY = 0x00000001 422 SQLITE_OPEN_READWRITE = 0x00000002 423 SQLITE_OPEN_SHAREDCACHE = 0x00020000 424 SQLITE_OPEN_SUBJOURNAL = 0x00002000 425 SQLITE_OPEN_SUPER_JOURNAL = 0x00004000 426 SQLITE_OPEN_TEMP_DB = 0x00000200 427 SQLITE_OPEN_TEMP_JOURNAL = 0x00001000 428 SQLITE_OPEN_TRANSIENT_DB = 0x00000400 429 SQLITE_OPEN_URI = 0x00000040 430 SQLITE_OPEN_WAL = 0x00080000 431 SQLITE_OS_UNIX = 1 432 SQLITE_PERM = 3 433 SQLITE_PRAGMA = 19 434 SQLITE_PREPARE_NORMALIZE = 0x02 435 SQLITE_PREPARE_NO_VTAB = 0x04 436 SQLITE_PREPARE_PERSISTENT = 0x01 437 SQLITE_PROTOCOL = 15 438 SQLITE_RANGE = 25 439 SQLITE_READ = 20 440 SQLITE_READONLY = 8 441 SQLITE_READONLY_CANTINIT = 1288 442 SQLITE_READONLY_CANTLOCK = 520 443 SQLITE_READONLY_DBMOVED = 1032 444 SQLITE_READONLY_DIRECTORY = 1544 445 SQLITE_READONLY_RECOVERY = 264 446 SQLITE_READONLY_ROLLBACK = 776 447 SQLITE_RECURSIVE = 33 448 SQLITE_REINDEX = 27 449 SQLITE_REPLACE = 5 450 SQLITE_ROLLBACK = 1 451 SQLITE_ROW = 100 452 SQLITE_SAVEPOINT = 32 453 SQLITE_SCANSTAT_EST = 2 454 SQLITE_SCANSTAT_EXPLAIN = 4 455 SQLITE_SCANSTAT_NAME = 3 456 SQLITE_SCANSTAT_NLOOP = 0 457 SQLITE_SCANSTAT_NVISIT = 1 458 SQLITE_SCANSTAT_SELECTID = 5 459 SQLITE_SCHEMA = 17 460 SQLITE_SELECT = 21 461 SQLITE_SERIALIZE_NOCOPY = 0x001 462 SQLITE_SESSION_CONFIG_STRMSIZE = 1 463 SQLITE_SESSION_OBJCONFIG_SIZE = 1 464 SQLITE_SET_LOCKPROXYFILE = 3 465 SQLITE_SHM_EXCLUSIVE = 8 466 SQLITE_SHM_LOCK = 2 467 SQLITE_SHM_NLOCK = 8 468 SQLITE_SHM_SHARED = 4 469 SQLITE_SHM_UNLOCK = 1 470 SQLITE_SOUNDEX = 1 471 SQLITE_SOURCE_ID = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8" 472 SQLITE_STATUS_MALLOC_COUNT = 9 473 SQLITE_STATUS_MALLOC_SIZE = 5 474 SQLITE_STATUS_MEMORY_USED = 0 475 SQLITE_STATUS_PAGECACHE_OVERFLOW = 2 476 SQLITE_STATUS_PAGECACHE_SIZE = 7 477 SQLITE_STATUS_PAGECACHE_USED = 1 478 SQLITE_STATUS_PARSER_STACK = 6 479 SQLITE_STATUS_SCRATCH_OVERFLOW = 4 480 SQLITE_STATUS_SCRATCH_SIZE = 8 481 SQLITE_STATUS_SCRATCH_USED = 3 482 SQLITE_STDCALL = 0 483 SQLITE_STMTSTATUS_AUTOINDEX = 3 484 SQLITE_STMTSTATUS_FILTER_HIT = 8 485 SQLITE_STMTSTATUS_FILTER_MISS = 7 486 SQLITE_STMTSTATUS_FULLSCAN_STEP = 1 487 SQLITE_STMTSTATUS_MEMUSED = 99 488 SQLITE_STMTSTATUS_REPREPARE = 5 489 SQLITE_STMTSTATUS_RUN = 6 490 SQLITE_STMTSTATUS_SORT = 2 491 SQLITE_STMTSTATUS_VM_STEP = 4 492 SQLITE_SUBTYPE = 0x000100000 493 SQLITE_SYNC_DATAONLY = 0x00010 494 SQLITE_SYNC_FULL = 0x00003 495 SQLITE_SYNC_NORMAL = 0x00002 496 SQLITE_SYSAPI = 0 497 SQLITE_TESTCTRL_ALWAYS = 13 498 SQLITE_TESTCTRL_ASSERT = 12 499 SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10 500 SQLITE_TESTCTRL_BITVEC_TEST = 8 501 SQLITE_TESTCTRL_BYTEORDER = 22 502 SQLITE_TESTCTRL_EXPLAIN_STMT = 19 503 SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS = 29 504 SQLITE_TESTCTRL_FAULT_INSTALL = 9 505 SQLITE_TESTCTRL_FIRST = 5 506 SQLITE_TESTCTRL_IMPOSTER = 25 507 SQLITE_TESTCTRL_INTERNAL_FUNCTIONS = 17 508 SQLITE_TESTCTRL_ISINIT = 23 509 SQLITE_TESTCTRL_ISKEYWORD = 16 510 SQLITE_TESTCTRL_LAST = 33 511 SQLITE_TESTCTRL_LOCALTIME_FAULT = 18 512 SQLITE_TESTCTRL_LOGEST = 33 513 SQLITE_TESTCTRL_NEVER_CORRUPT = 20 514 SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19 515 SQLITE_TESTCTRL_OPTIMIZATIONS = 15 516 SQLITE_TESTCTRL_PARSER_COVERAGE = 26 517 SQLITE_TESTCTRL_PENDING_BYTE = 11 518 SQLITE_TESTCTRL_PRNG_RESET = 7 519 SQLITE_TESTCTRL_PRNG_RESTORE = 6 520 SQLITE_TESTCTRL_PRNG_SAVE = 5 521 SQLITE_TESTCTRL_PRNG_SEED = 28 522 SQLITE_TESTCTRL_RESERVE = 14 523 SQLITE_TESTCTRL_RESULT_INTREAL = 27 524 SQLITE_TESTCTRL_SCRATCHMALLOC = 17 525 SQLITE_TESTCTRL_SEEK_COUNT = 30 526 SQLITE_TESTCTRL_SORTER_MMAP = 24 527 SQLITE_TESTCTRL_TRACEFLAGS = 31 528 SQLITE_TESTCTRL_TUNE = 32 529 SQLITE_TESTCTRL_VDBE_COVERAGE = 21 530 SQLITE_TEXT = 3 531 SQLITE_THREADSAFE = 1 532 SQLITE_TOOBIG = 18 533 SQLITE_TRACE_CLOSE = 0x08 534 SQLITE_TRACE_PROFILE = 0x02 535 SQLITE_TRACE_ROW = 0x04 536 SQLITE_TRACE_STMT = 0x01 537 SQLITE_TRANSACTION = 22 538 SQLITE_TXN_NONE = 0 539 SQLITE_TXN_READ = 1 540 SQLITE_TXN_WRITE = 2 541 SQLITE_UPDATE = 23 542 SQLITE_UTF16 = 4 543 SQLITE_UTF16BE = 3 544 SQLITE_UTF16LE = 2 545 SQLITE_UTF16_ALIGNED = 8 546 SQLITE_UTF8 = 1 547 SQLITE_VERSION = "3.39.3" 548 SQLITE_VERSION_NUMBER = 3039003 549 SQLITE_VTAB_CONSTRAINT_SUPPORT = 1 550 SQLITE_VTAB_DIRECTONLY = 3 551 SQLITE_VTAB_INNOCUOUS = 2 552 SQLITE_WARNING = 28 553 SQLITE_WARNING_AUTOINDEX = 284 554 SQLITE_WIN32_DATA_DIRECTORY_TYPE = 1 555 SQLITE_WIN32_TEMP_DIRECTORY_TYPE = 2 556 STDERR_FILENO = 2 557 STDIN_FILENO = 0 558 STDOUT_FILENO = 1 559 TMP_MAX = 238328 560 WCONTINUED = 8 561 WEXITED = 4 562 WNOHANG = 1 563 WNOWAIT = 0x01000000 564 WSTOPPED = 2 565 WUNTRACED = 2 566 W_OK = 2 567 X_OK = 1 568 X_ALLOCA_H = 1 569 X_ANSI_STDARG_H_ = 0 570 X_ASSERT_H = 1 571 X_ATFILE_SOURCE = 1 572 X_BITS_BYTESWAP_H = 1 573 X_BITS_ENDIANNESS_H = 1 574 X_BITS_ENDIAN_H = 1 575 X_BITS_FLOATN_COMMON_H = 0 576 X_BITS_FLOATN_H = 0 577 X_BITS_POSIX_OPT_H = 1 578 X_BITS_PTHREADTYPES_ARCH_H = 1 579 X_BITS_PTHREADTYPES_COMMON_H = 1 580 X_BITS_STDINT_INTN_H = 1 581 X_BITS_STDIO_LIM_H = 1 582 X_BITS_TIME64_H = 1 583 X_BITS_TYPESIZES_H = 1 584 X_BITS_TYPES_H = 1 585 X_BITS_TYPES_LOCALE_T_H = 1 586 X_BITS_TYPES___LOCALE_T_H = 1 587 X_BITS_UINTN_IDENTITY_H = 1 588 X_BSD_SIZE_T_ = 0 589 X_BSD_SIZE_T_DEFINED_ = 0 590 X_CTYPE_H = 1 591 X_DEFAULT_SOURCE = 1 592 X_ENDIAN_H = 1 593 X_FEATURES_H = 1 594 X_FILE_OFFSET_BITS = 64 595 X_FTS5_H = 0 596 X_GCC_SIZE_T = 0 597 X_GCC_WCHAR_T = 0 598 X_GETOPT_CORE_H = 1 599 X_GETOPT_POSIX_H = 1 600 X_IOFBF = 0 601 X_IOLBF = 1 602 X_IONBF = 2 603 X_IO_EOF_SEEN = 0x0010 604 X_IO_ERR_SEEN = 0x0020 605 X_IO_USER_LOCK = 0x8000 606 X_LFS64_ASYNCHRONOUS_IO = 1 607 X_LFS64_LARGEFILE = 1 608 X_LFS64_STDIO = 1 609 X_LFS_ASYNCHRONOUS_IO = 1 610 X_LFS_LARGEFILE = 1 611 X_LP64 = 1 612 X_POSIX2_CHAR_TERM = 200809 613 X_POSIX2_C_BIND = 200809 614 X_POSIX2_C_DEV = 200809 615 X_POSIX2_C_VERSION = 200809 616 X_POSIX2_LOCALEDEF = 200809 617 X_POSIX2_SW_DEV = 200809 618 X_POSIX2_VERSION = 200809 619 X_POSIX_ADVISORY_INFO = 200809 620 X_POSIX_ASYNCHRONOUS_IO = 200809 621 X_POSIX_ASYNC_IO = 1 622 X_POSIX_BARRIERS = 200809 623 X_POSIX_CHOWN_RESTRICTED = 0 624 X_POSIX_CLOCK_SELECTION = 200809 625 X_POSIX_CPUTIME = 0 626 X_POSIX_C_SOURCE = 200809 627 X_POSIX_FSYNC = 200809 628 X_POSIX_IPV6 = 200809 629 X_POSIX_JOB_CONTROL = 1 630 X_POSIX_MAPPED_FILES = 200809 631 X_POSIX_MEMLOCK = 200809 632 X_POSIX_MEMLOCK_RANGE = 200809 633 X_POSIX_MEMORY_PROTECTION = 200809 634 X_POSIX_MESSAGE_PASSING = 200809 635 X_POSIX_MONOTONIC_CLOCK = 0 636 X_POSIX_NO_TRUNC = 1 637 X_POSIX_PRIORITIZED_IO = 200809 638 X_POSIX_PRIORITY_SCHEDULING = 200809 639 X_POSIX_RAW_SOCKETS = 200809 640 X_POSIX_READER_WRITER_LOCKS = 200809 641 X_POSIX_REALTIME_SIGNALS = 200809 642 X_POSIX_REENTRANT_FUNCTIONS = 1 643 X_POSIX_REGEXP = 1 644 X_POSIX_SAVED_IDS = 1 645 X_POSIX_SEMAPHORES = 200809 646 X_POSIX_SHARED_MEMORY_OBJECTS = 200809 647 X_POSIX_SHELL = 1 648 X_POSIX_SOURCE = 1 649 X_POSIX_SPAWN = 200809 650 X_POSIX_SPIN_LOCKS = 200809 651 X_POSIX_SPORADIC_SERVER = -1 652 X_POSIX_SYNCHRONIZED_IO = 200809 653 X_POSIX_THREADS = 200809 654 X_POSIX_THREAD_ATTR_STACKADDR = 200809 655 X_POSIX_THREAD_ATTR_STACKSIZE = 200809 656 X_POSIX_THREAD_CPUTIME = 0 657 X_POSIX_THREAD_PRIORITY_SCHEDULING = 200809 658 X_POSIX_THREAD_PRIO_INHERIT = 200809 659 X_POSIX_THREAD_PRIO_PROTECT = 200809 660 X_POSIX_THREAD_PROCESS_SHARED = 200809 661 X_POSIX_THREAD_ROBUST_PRIO_INHERIT = 200809 662 X_POSIX_THREAD_ROBUST_PRIO_PROTECT = -1 663 X_POSIX_THREAD_SAFE_FUNCTIONS = 200809 664 X_POSIX_THREAD_SPORADIC_SERVER = -1 665 X_POSIX_TIMEOUTS = 200809 666 X_POSIX_TIMERS = 200809 667 X_POSIX_TRACE = -1 668 X_POSIX_TRACE_EVENT_FILTER = -1 669 X_POSIX_TRACE_INHERIT = -1 670 X_POSIX_TRACE_LOG = -1 671 X_POSIX_TYPED_MEMORY_OBJECTS = -1 672 X_POSIX_V6_ILP32_OFF32 = -1 673 X_POSIX_V6_ILP32_OFFBIG = -1 674 X_POSIX_V6_LP64_OFF64 = 1 675 X_POSIX_V6_LPBIG_OFFBIG = -1 676 X_POSIX_V7_ILP32_OFF32 = -1 677 X_POSIX_V7_ILP32_OFFBIG = -1 678 X_POSIX_V7_LP64_OFF64 = 1 679 X_POSIX_V7_LPBIG_OFFBIG = -1 680 X_POSIX_VDISABLE = 0 681 X_POSIX_VERSION = 200809 682 X_RWLOCK_INTERNAL_H = 0 683 X_SIZET_ = 0 684 X_SIZE_T = 0 685 X_SIZE_T_ = 0 686 X_SIZE_T_DECLARED = 0 687 X_SIZE_T_DEFINED = 0 688 X_SIZE_T_DEFINED_ = 0 689 X_SQLITE3RTREE_H_ = 0 690 X_STDARG_H = 0 691 X_STDC_PREDEF_H = 1 692 X_STDIO_H = 1 693 X_STDLIB_H = 1 694 X_STRINGS_H = 1 695 X_STRING_H = 1 696 X_STRUCT_TIMESPEC = 1 697 X_SYS_CDEFS_H = 1 698 X_SYS_SELECT_H = 1 699 X_SYS_SIZE_T_H = 0 700 X_SYS_TYPES_H = 1 701 X_THREAD_MUTEX_INTERNAL_H = 1 702 X_THREAD_SHARED_TYPES_H = 1 703 X_T_SIZE = 0 704 X_T_SIZE_ = 0 705 X_T_WCHAR = 0 706 X_T_WCHAR_ = 0 707 X_UNISTD_H = 1 708 X_VA_LIST = 0 709 X_VA_LIST_ = 0 710 X_VA_LIST_DEFINED = 0 711 X_VA_LIST_T_H = 0 712 X_WCHAR_T = 0 713 X_WCHAR_T_ = 0 714 X_WCHAR_T_DECLARED = 0 715 X_WCHAR_T_DEFINED = 0 716 X_WCHAR_T_DEFINED_ = 0 717 X_WCHAR_T_H = 0 718 X_XBS5_ILP32_OFF32 = -1 719 X_XBS5_ILP32_OFFBIG = -1 720 X_XBS5_LP64_OFF64 = 1 721 X_XBS5_LPBIG_OFFBIG = -1 722 X_XOPEN_ENH_I18N = 1 723 X_XOPEN_LEGACY = 1 724 X_XOPEN_REALTIME = 1 725 X_XOPEN_REALTIME_THREADS = 1 726 X_XOPEN_SHM = 1 727 X_XOPEN_UNIX = 1 728 X_XOPEN_VERSION = 700 729 X_XOPEN_XCU_VERSION = 4 730 X_XOPEN_XPG2 = 1 731 X_XOPEN_XPG3 = 1 732 X_XOPEN_XPG4 = 1 733 Linux = 1 734 Unix = 1 735 ) 736 737 const ( 738 _PC_LINK_MAX = 0 739 _PC_MAX_CANON = 1 740 _PC_MAX_INPUT = 2 741 _PC_NAME_MAX = 3 742 _PC_PATH_MAX = 4 743 _PC_PIPE_BUF = 5 744 _PC_CHOWN_RESTRICTED = 6 745 _PC_NO_TRUNC = 7 746 _PC_VDISABLE = 8 747 _PC_SYNC_IO = 9 748 _PC_ASYNC_IO = 10 749 _PC_PRIO_IO = 11 750 _PC_SOCK_MAXBUF = 12 751 _PC_FILESIZEBITS = 13 752 _PC_REC_INCR_XFER_SIZE = 14 753 _PC_REC_MAX_XFER_SIZE = 15 754 _PC_REC_MIN_XFER_SIZE = 16 755 _PC_REC_XFER_ALIGN = 17 756 _PC_ALLOC_SIZE_MIN = 18 757 _PC_SYMLINK_MAX = 19 758 _PC_2_SYMLINKS = 20 759 ) 760 761 const ( 762 _CS_PATH = 0 763 764 _CS_V6_WIDTH_RESTRICTED_ENVS = 1 765 766 _CS_GNU_LIBC_VERSION = 2 767 _CS_GNU_LIBPTHREAD_VERSION = 3 768 769 _CS_V5_WIDTH_RESTRICTED_ENVS = 4 770 771 _CS_V7_WIDTH_RESTRICTED_ENVS = 5 772 773 _CS_LFS_CFLAGS = 1000 774 _CS_LFS_LDFLAGS = 1001 775 _CS_LFS_LIBS = 1002 776 _CS_LFS_LINTFLAGS = 1003 777 _CS_LFS64_CFLAGS = 1004 778 _CS_LFS64_LDFLAGS = 1005 779 _CS_LFS64_LIBS = 1006 780 _CS_LFS64_LINTFLAGS = 1007 781 782 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100 783 _CS_XBS5_ILP32_OFF32_LDFLAGS = 1101 784 _CS_XBS5_ILP32_OFF32_LIBS = 1102 785 _CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103 786 _CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104 787 _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105 788 _CS_XBS5_ILP32_OFFBIG_LIBS = 1106 789 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107 790 _CS_XBS5_LP64_OFF64_CFLAGS = 1108 791 _CS_XBS5_LP64_OFF64_LDFLAGS = 1109 792 _CS_XBS5_LP64_OFF64_LIBS = 1110 793 _CS_XBS5_LP64_OFF64_LINTFLAGS = 1111 794 _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112 795 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113 796 _CS_XBS5_LPBIG_OFFBIG_LIBS = 1114 797 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115 798 799 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116 800 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117 801 _CS_POSIX_V6_ILP32_OFF32_LIBS = 1118 802 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119 803 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120 804 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121 805 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122 806 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123 807 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124 808 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125 809 _CS_POSIX_V6_LP64_OFF64_LIBS = 1126 810 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127 811 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128 812 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129 813 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130 814 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131 815 816 _CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132 817 _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133 818 _CS_POSIX_V7_ILP32_OFF32_LIBS = 1134 819 _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135 820 _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136 821 _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137 822 _CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138 823 _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139 824 _CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140 825 _CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141 826 _CS_POSIX_V7_LP64_OFF64_LIBS = 1142 827 _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143 828 _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144 829 _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145 830 _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146 831 _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147 832 833 _CS_V6_ENV = 1148 834 _CS_V7_ENV = 1149 835 ) 836 837 const ( 838 _SC_ARG_MAX = 0 839 _SC_CHILD_MAX = 1 840 _SC_CLK_TCK = 2 841 _SC_NGROUPS_MAX = 3 842 _SC_OPEN_MAX = 4 843 _SC_STREAM_MAX = 5 844 _SC_TZNAME_MAX = 6 845 _SC_JOB_CONTROL = 7 846 _SC_SAVED_IDS = 8 847 _SC_REALTIME_SIGNALS = 9 848 _SC_PRIORITY_SCHEDULING = 10 849 _SC_TIMERS = 11 850 _SC_ASYNCHRONOUS_IO = 12 851 _SC_PRIORITIZED_IO = 13 852 _SC_SYNCHRONIZED_IO = 14 853 _SC_FSYNC = 15 854 _SC_MAPPED_FILES = 16 855 _SC_MEMLOCK = 17 856 _SC_MEMLOCK_RANGE = 18 857 _SC_MEMORY_PROTECTION = 19 858 _SC_MESSAGE_PASSING = 20 859 _SC_SEMAPHORES = 21 860 _SC_SHARED_MEMORY_OBJECTS = 22 861 _SC_AIO_LISTIO_MAX = 23 862 _SC_AIO_MAX = 24 863 _SC_AIO_PRIO_DELTA_MAX = 25 864 _SC_DELAYTIMER_MAX = 26 865 _SC_MQ_OPEN_MAX = 27 866 _SC_MQ_PRIO_MAX = 28 867 _SC_VERSION = 29 868 _SC_PAGESIZE = 30 869 _SC_RTSIG_MAX = 31 870 _SC_SEM_NSEMS_MAX = 32 871 _SC_SEM_VALUE_MAX = 33 872 _SC_SIGQUEUE_MAX = 34 873 _SC_TIMER_MAX = 35 874 875 _SC_BC_BASE_MAX = 36 876 _SC_BC_DIM_MAX = 37 877 _SC_BC_SCALE_MAX = 38 878 _SC_BC_STRING_MAX = 39 879 _SC_COLL_WEIGHTS_MAX = 40 880 _SC_EQUIV_CLASS_MAX = 41 881 _SC_EXPR_NEST_MAX = 42 882 _SC_LINE_MAX = 43 883 _SC_RE_DUP_MAX = 44 884 _SC_CHARCLASS_NAME_MAX = 45 885 886 _SC_2_VERSION = 46 887 _SC_2_C_BIND = 47 888 _SC_2_C_DEV = 48 889 _SC_2_FORT_DEV = 49 890 _SC_2_FORT_RUN = 50 891 _SC_2_SW_DEV = 51 892 _SC_2_LOCALEDEF = 52 893 894 _SC_PII = 53 895 _SC_PII_XTI = 54 896 _SC_PII_SOCKET = 55 897 _SC_PII_INTERNET = 56 898 _SC_PII_OSI = 57 899 _SC_POLL = 58 900 _SC_SELECT = 59 901 _SC_UIO_MAXIOV = 60 902 _SC_IOV_MAX = 60 903 _SC_PII_INTERNET_STREAM = 61 904 _SC_PII_INTERNET_DGRAM = 62 905 _SC_PII_OSI_COTS = 63 906 _SC_PII_OSI_CLTS = 64 907 _SC_PII_OSI_M = 65 908 _SC_T_IOV_MAX = 66 909 910 _SC_THREADS = 67 911 _SC_THREAD_SAFE_FUNCTIONS = 68 912 _SC_GETGR_R_SIZE_MAX = 69 913 _SC_GETPW_R_SIZE_MAX = 70 914 _SC_LOGIN_NAME_MAX = 71 915 _SC_TTY_NAME_MAX = 72 916 _SC_THREAD_DESTRUCTOR_ITERATIONS = 73 917 _SC_THREAD_KEYS_MAX = 74 918 _SC_THREAD_STACK_MIN = 75 919 _SC_THREAD_THREADS_MAX = 76 920 _SC_THREAD_ATTR_STACKADDR = 77 921 _SC_THREAD_ATTR_STACKSIZE = 78 922 _SC_THREAD_PRIORITY_SCHEDULING = 79 923 _SC_THREAD_PRIO_INHERIT = 80 924 _SC_THREAD_PRIO_PROTECT = 81 925 _SC_THREAD_PROCESS_SHARED = 82 926 927 _SC_NPROCESSORS_CONF = 83 928 _SC_NPROCESSORS_ONLN = 84 929 _SC_PHYS_PAGES = 85 930 _SC_AVPHYS_PAGES = 86 931 _SC_ATEXIT_MAX = 87 932 _SC_PASS_MAX = 88 933 934 _SC_XOPEN_VERSION = 89 935 _SC_XOPEN_XCU_VERSION = 90 936 _SC_XOPEN_UNIX = 91 937 _SC_XOPEN_CRYPT = 92 938 _SC_XOPEN_ENH_I18N = 93 939 _SC_XOPEN_SHM = 94 940 941 _SC_2_CHAR_TERM = 95 942 _SC_2_C_VERSION = 96 943 _SC_2_UPE = 97 944 945 _SC_XOPEN_XPG2 = 98 946 _SC_XOPEN_XPG3 = 99 947 _SC_XOPEN_XPG4 = 100 948 949 _SC_CHAR_BIT = 101 950 _SC_CHAR_MAX = 102 951 _SC_CHAR_MIN = 103 952 _SC_INT_MAX = 104 953 _SC_INT_MIN = 105 954 _SC_LONG_BIT = 106 955 _SC_WORD_BIT = 107 956 _SC_MB_LEN_MAX = 108 957 _SC_NZERO = 109 958 _SC_SSIZE_MAX = 110 959 _SC_SCHAR_MAX = 111 960 _SC_SCHAR_MIN = 112 961 _SC_SHRT_MAX = 113 962 _SC_SHRT_MIN = 114 963 _SC_UCHAR_MAX = 115 964 _SC_UINT_MAX = 116 965 _SC_ULONG_MAX = 117 966 _SC_USHRT_MAX = 118 967 968 _SC_NL_ARGMAX = 119 969 _SC_NL_LANGMAX = 120 970 _SC_NL_MSGMAX = 121 971 _SC_NL_NMAX = 122 972 _SC_NL_SETMAX = 123 973 _SC_NL_TEXTMAX = 124 974 975 _SC_XBS5_ILP32_OFF32 = 125 976 _SC_XBS5_ILP32_OFFBIG = 126 977 _SC_XBS5_LP64_OFF64 = 127 978 _SC_XBS5_LPBIG_OFFBIG = 128 979 980 _SC_XOPEN_LEGACY = 129 981 _SC_XOPEN_REALTIME = 130 982 _SC_XOPEN_REALTIME_THREADS = 131 983 984 _SC_ADVISORY_INFO = 132 985 _SC_BARRIERS = 133 986 _SC_BASE = 134 987 _SC_C_LANG_SUPPORT = 135 988 _SC_C_LANG_SUPPORT_R = 136 989 _SC_CLOCK_SELECTION = 137 990 _SC_CPUTIME = 138 991 _SC_THREAD_CPUTIME = 139 992 _SC_DEVICE_IO = 140 993 _SC_DEVICE_SPECIFIC = 141 994 _SC_DEVICE_SPECIFIC_R = 142 995 _SC_FD_MGMT = 143 996 _SC_FIFO = 144 997 _SC_PIPE = 145 998 _SC_FILE_ATTRIBUTES = 146 999 _SC_FILE_LOCKING = 147 1000 _SC_FILE_SYSTEM = 148 1001 _SC_MONOTONIC_CLOCK = 149 1002 _SC_MULTI_PROCESS = 150 1003 _SC_SINGLE_PROCESS = 151 1004 _SC_NETWORKING = 152 1005 _SC_READER_WRITER_LOCKS = 153 1006 _SC_SPIN_LOCKS = 154 1007 _SC_REGEXP = 155 1008 _SC_REGEX_VERSION = 156 1009 _SC_SHELL = 157 1010 _SC_SIGNALS = 158 1011 _SC_SPAWN = 159 1012 _SC_SPORADIC_SERVER = 160 1013 _SC_THREAD_SPORADIC_SERVER = 161 1014 _SC_SYSTEM_DATABASE = 162 1015 _SC_SYSTEM_DATABASE_R = 163 1016 _SC_TIMEOUTS = 164 1017 _SC_TYPED_MEMORY_OBJECTS = 165 1018 _SC_USER_GROUPS = 166 1019 _SC_USER_GROUPS_R = 167 1020 _SC_2_PBS = 168 1021 _SC_2_PBS_ACCOUNTING = 169 1022 _SC_2_PBS_LOCATE = 170 1023 _SC_2_PBS_MESSAGE = 171 1024 _SC_2_PBS_TRACK = 172 1025 _SC_SYMLOOP_MAX = 173 1026 _SC_STREAMS = 174 1027 _SC_2_PBS_CHECKPOINT = 175 1028 1029 _SC_V6_ILP32_OFF32 = 176 1030 _SC_V6_ILP32_OFFBIG = 177 1031 _SC_V6_LP64_OFF64 = 178 1032 _SC_V6_LPBIG_OFFBIG = 179 1033 1034 _SC_HOST_NAME_MAX = 180 1035 _SC_TRACE = 181 1036 _SC_TRACE_EVENT_FILTER = 182 1037 _SC_TRACE_INHERIT = 183 1038 _SC_TRACE_LOG = 184 1039 1040 _SC_LEVEL1_ICACHE_SIZE = 185 1041 _SC_LEVEL1_ICACHE_ASSOC = 186 1042 _SC_LEVEL1_ICACHE_LINESIZE = 187 1043 _SC_LEVEL1_DCACHE_SIZE = 188 1044 _SC_LEVEL1_DCACHE_ASSOC = 189 1045 _SC_LEVEL1_DCACHE_LINESIZE = 190 1046 _SC_LEVEL2_CACHE_SIZE = 191 1047 _SC_LEVEL2_CACHE_ASSOC = 192 1048 _SC_LEVEL2_CACHE_LINESIZE = 193 1049 _SC_LEVEL3_CACHE_SIZE = 194 1050 _SC_LEVEL3_CACHE_ASSOC = 195 1051 _SC_LEVEL3_CACHE_LINESIZE = 196 1052 _SC_LEVEL4_CACHE_SIZE = 197 1053 _SC_LEVEL4_CACHE_ASSOC = 198 1054 _SC_LEVEL4_CACHE_LINESIZE = 199 1055 1056 _SC_IPV6 = 235 1057 _SC_RAW_SOCKETS = 236 1058 1059 _SC_V7_ILP32_OFF32 = 237 1060 _SC_V7_ILP32_OFFBIG = 238 1061 _SC_V7_LP64_OFF64 = 239 1062 _SC_V7_LPBIG_OFFBIG = 240 1063 1064 _SC_SS_REPL_MAX = 241 1065 1066 _SC_TRACE_EVENT_NAME_MAX = 242 1067 _SC_TRACE_NAME_MAX = 243 1068 _SC_TRACE_SYS_MAX = 244 1069 _SC_TRACE_USER_EVENT_MAX = 245 1070 1071 _SC_XOPEN_STREAMS = 246 1072 1073 _SC_THREAD_ROBUST_PRIO_INHERIT = 247 1074 _SC_THREAD_ROBUST_PRIO_PROTECT = 248 1075 ) 1076 1077 const ( 1078 P_ALL = 0 1079 P_PID = 1 1080 P_PGID = 2 1081 ) 1082 1083 const ( 1084 _ISupper = 256 1085 _ISlower = 512 1086 _ISalpha = 1024 1087 _ISdigit = 2048 1088 _ISxdigit = 4096 1089 _ISspace = 8192 1090 _ISprint = 16384 1091 _ISgraph = 32768 1092 _ISblank = 1 1093 _IScntrl = 2 1094 _ISpunct = 4 1095 _ISalnum = 8 1096 ) 1097 1098 type ptrdiff_t = int64 1099 1100 type size_t = uint64 1101 1102 type wchar_t = int32 1103 1104 var zHelp = *(*[2263]uint8)(unsafe.Pointer(ts)) 1105 1106 type va_list = uintptr 1107 1108 type sqlite_int64 = int64 1109 type sqlite_uint64 = uint64 1110 type sqlite3_int64 = sqlite_int64 1111 type sqlite3_uint64 = sqlite_uint64 1112 1113 type sqlite3_callback = uintptr 1114 1115 type sqlite3_file1 = struct{ pMethods uintptr } 1116 1117 type sqlite3_file = sqlite3_file1 1118 type sqlite3_io_methods1 = struct { 1119 iVersion int32 1120 _ [4]byte 1121 xClose uintptr 1122 xRead uintptr 1123 xWrite uintptr 1124 xTruncate uintptr 1125 xSync uintptr 1126 xFileSize uintptr 1127 xLock uintptr 1128 xUnlock uintptr 1129 xCheckReservedLock uintptr 1130 xFileControl uintptr 1131 xSectorSize uintptr 1132 xDeviceCharacteristics uintptr 1133 xShmMap uintptr 1134 xShmLock uintptr 1135 xShmBarrier uintptr 1136 xShmUnmap uintptr 1137 xFetch uintptr 1138 xUnfetch uintptr 1139 } 1140 1141 type sqlite3_io_methods = sqlite3_io_methods1 1142 1143 type sqlite3_vfs1 = struct { 1144 iVersion int32 1145 szOsFile int32 1146 mxPathname int32 1147 _ [4]byte 1148 pNext uintptr 1149 zName uintptr 1150 pAppData uintptr 1151 xOpen uintptr 1152 xDelete uintptr 1153 xAccess uintptr 1154 xFullPathname uintptr 1155 xDlOpen uintptr 1156 xDlError uintptr 1157 xDlSym uintptr 1158 xDlClose uintptr 1159 xRandomness uintptr 1160 xSleep uintptr 1161 xCurrentTime uintptr 1162 xGetLastError uintptr 1163 xCurrentTimeInt64 uintptr 1164 xSetSystemCall uintptr 1165 xGetSystemCall uintptr 1166 xNextSystemCall uintptr 1167 } 1168 1169 type sqlite3_vfs = sqlite3_vfs1 1170 type sqlite3_syscall_ptr = uintptr 1171 1172 type sqlite3_mem_methods1 = struct { 1173 xMalloc uintptr 1174 xFree uintptr 1175 xRealloc uintptr 1176 xSize uintptr 1177 xRoundup uintptr 1178 xInit uintptr 1179 xShutdown uintptr 1180 pAppData uintptr 1181 } 1182 1183 type sqlite3_mem_methods = sqlite3_mem_methods1 1184 1185 type sqlite3_destructor_type = uintptr 1186 1187 type sqlite3_vtab1 = struct { 1188 pModule uintptr 1189 nRef int32 1190 _ [4]byte 1191 zErrMsg uintptr 1192 } 1193 1194 type sqlite3_vtab = sqlite3_vtab1 1195 type sqlite3_index_info1 = struct { 1196 nConstraint int32 1197 _ [4]byte 1198 aConstraint uintptr 1199 nOrderBy int32 1200 _ [4]byte 1201 aOrderBy uintptr 1202 aConstraintUsage uintptr 1203 idxNum int32 1204 _ [4]byte 1205 idxStr uintptr 1206 needToFreeIdxStr int32 1207 orderByConsumed int32 1208 estimatedCost float64 1209 estimatedRows sqlite3_int64 1210 idxFlags int32 1211 _ [4]byte 1212 colUsed sqlite3_uint64 1213 } 1214 1215 type sqlite3_index_info = sqlite3_index_info1 1216 type sqlite3_vtab_cursor1 = struct{ pVtab uintptr } 1217 1218 type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 1219 type sqlite3_module1 = struct { 1220 iVersion int32 1221 _ [4]byte 1222 xCreate uintptr 1223 xConnect uintptr 1224 xBestIndex uintptr 1225 xDisconnect uintptr 1226 xDestroy uintptr 1227 xOpen uintptr 1228 xClose uintptr 1229 xFilter uintptr 1230 xNext uintptr 1231 xEof uintptr 1232 xColumn uintptr 1233 xRowid uintptr 1234 xUpdate uintptr 1235 xBegin uintptr 1236 xSync uintptr 1237 xCommit uintptr 1238 xRollback uintptr 1239 xFindFunction uintptr 1240 xRename uintptr 1241 xSavepoint uintptr 1242 xRelease uintptr 1243 xRollbackTo uintptr 1244 xShadowName uintptr 1245 } 1246 1247 type sqlite3_module = sqlite3_module1 1248 1249 type sqlite3_index_constraint = struct { 1250 iColumn int32 1251 op uint8 1252 usable uint8 1253 _ [2]byte 1254 iTermOffset int32 1255 } 1256 1257 type sqlite3_index_orderby = struct { 1258 iColumn int32 1259 desc uint8 1260 _ [3]byte 1261 } 1262 1263 type sqlite3_index_constraint_usage = struct { 1264 argvIndex int32 1265 omit uint8 1266 _ [3]byte 1267 } 1268 1269 type sqlite3_mutex_methods1 = struct { 1270 xMutexInit uintptr 1271 xMutexEnd uintptr 1272 xMutexAlloc uintptr 1273 xMutexFree uintptr 1274 xMutexEnter uintptr 1275 xMutexTry uintptr 1276 xMutexLeave uintptr 1277 xMutexHeld uintptr 1278 xMutexNotheld uintptr 1279 } 1280 1281 type sqlite3_mutex_methods = sqlite3_mutex_methods1 1282 1283 type sqlite3_pcache_page1 = struct { 1284 pBuf uintptr 1285 pExtra uintptr 1286 } 1287 1288 type sqlite3_pcache_page = sqlite3_pcache_page1 1289 1290 type sqlite3_pcache_methods21 = struct { 1291 iVersion int32 1292 _ [4]byte 1293 pArg uintptr 1294 xInit uintptr 1295 xShutdown uintptr 1296 xCreate uintptr 1297 xCachesize uintptr 1298 xPagecount uintptr 1299 xFetch uintptr 1300 xUnpin uintptr 1301 xRekey uintptr 1302 xTruncate uintptr 1303 xDestroy uintptr 1304 xShrink uintptr 1305 } 1306 1307 type sqlite3_pcache_methods2 = sqlite3_pcache_methods21 1308 1309 type sqlite3_pcache_methods1 = struct { 1310 pArg uintptr 1311 xInit uintptr 1312 xShutdown uintptr 1313 xCreate uintptr 1314 xCachesize uintptr 1315 xPagecount uintptr 1316 xFetch uintptr 1317 xUnpin uintptr 1318 xRekey uintptr 1319 xTruncate uintptr 1320 xDestroy uintptr 1321 } 1322 1323 type sqlite3_pcache_methods = sqlite3_pcache_methods1 1324 1325 type sqlite3_snapshot1 = struct{ hidden [48]uint8 } 1326 1327 type sqlite3_snapshot = sqlite3_snapshot1 1328 1329 type sqlite3_rtree_geometry1 = struct { 1330 pContext uintptr 1331 nParam int32 1332 _ [4]byte 1333 aParam uintptr 1334 pUser uintptr 1335 xDelUser uintptr 1336 } 1337 1338 type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 1339 type sqlite3_rtree_query_info1 = struct { 1340 pContext uintptr 1341 nParam int32 1342 _ [4]byte 1343 aParam uintptr 1344 pUser uintptr 1345 xDelUser uintptr 1346 aCoord uintptr 1347 anQueue uintptr 1348 nCoord int32 1349 iLevel int32 1350 mxLevel int32 1351 _ [4]byte 1352 iRowid sqlite3_int64 1353 rParentScore sqlite3_rtree_dbl 1354 eParentWithin int32 1355 eWithin int32 1356 rScore sqlite3_rtree_dbl 1357 apSqlParam uintptr 1358 } 1359 1360 type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 1361 1362 type sqlite3_rtree_dbl = float64 1363 1364 type Fts5ExtensionApi1 = struct { 1365 iVersion int32 1366 _ [4]byte 1367 xUserData uintptr 1368 xColumnCount uintptr 1369 xRowCount uintptr 1370 xColumnTotalSize uintptr 1371 xTokenize uintptr 1372 xPhraseCount uintptr 1373 xPhraseSize uintptr 1374 xInstCount uintptr 1375 xInst uintptr 1376 xRowid uintptr 1377 xColumnText uintptr 1378 xColumnSize uintptr 1379 xQueryPhrase uintptr 1380 xSetAuxdata uintptr 1381 xGetAuxdata uintptr 1382 xPhraseFirst uintptr 1383 xPhraseNext uintptr 1384 xPhraseFirstColumn uintptr 1385 xPhraseNextColumn uintptr 1386 } 1387 1388 type Fts5ExtensionApi = Fts5ExtensionApi1 1389 type Fts5PhraseIter1 = struct { 1390 a uintptr 1391 b uintptr 1392 } 1393 1394 type Fts5PhraseIter = Fts5PhraseIter1 1395 1396 type fts5_extension_function = uintptr 1397 type fts5_tokenizer1 = struct { 1398 xCreate uintptr 1399 xDelete uintptr 1400 xTokenize uintptr 1401 } 1402 1403 type fts5_tokenizer = fts5_tokenizer1 1404 1405 type fts5_api1 = struct { 1406 iVersion int32 1407 _ [4]byte 1408 xCreateTokenizer uintptr 1409 xFindTokenizer uintptr 1410 xCreateFunction uintptr 1411 } 1412 1413 type fts5_api = fts5_api1 1414 1415 type _G_fpos_t = struct { 1416 __pos int64 1417 __state struct { 1418 __count int32 1419 __value struct{ __wch uint32 } 1420 } 1421 } 1422 1423 type _G_fpos64_t = struct { 1424 __pos int64 1425 __state struct { 1426 __count int32 1427 __value struct{ __wch uint32 } 1428 } 1429 } 1430 1431 type _IO_FILE = struct { 1432 _flags int32 1433 _ [4]byte 1434 _IO_read_ptr uintptr 1435 _IO_read_end uintptr 1436 _IO_read_base uintptr 1437 _IO_write_base uintptr 1438 _IO_write_ptr uintptr 1439 _IO_write_end uintptr 1440 _IO_buf_base uintptr 1441 _IO_buf_end uintptr 1442 _IO_save_base uintptr 1443 _IO_backup_base uintptr 1444 _IO_save_end uintptr 1445 _markers uintptr 1446 _chain uintptr 1447 _fileno int32 1448 _flags2 int32 1449 _old_offset int64 1450 _cur_column uint16 1451 _vtable_offset int8 1452 _shortbuf [1]uint8 1453 _ [4]byte 1454 _lock uintptr 1455 _offset int64 1456 _codecvt uintptr 1457 _wide_data uintptr 1458 _freeres_list uintptr 1459 _freeres_buf uintptr 1460 __pad5 size_t 1461 _mode int32 1462 _unused2 [20]uint8 1463 } 1464 1465 type FILE = _IO_FILE 1466 1467 type off_t = int64 1468 1469 type ssize_t = int64 1470 1471 type fpos_t = _G_fpos64_t 1472 1473 type idtype_t = uint32 1474 1475 type div_t = struct { 1476 quot int32 1477 rem int32 1478 } 1479 1480 type ldiv_t = struct { 1481 quot int64 1482 rem int64 1483 } 1484 1485 type lldiv_t = struct { 1486 quot int64 1487 rem int64 1488 } 1489 1490 type u_char = uint8 1491 type u_short = uint16 1492 type u_int = uint32 1493 type u_long = uint64 1494 type quad_t = int64 1495 type u_quad_t = uint64 1496 type fsid_t = struct{ __val [2]int32 } 1497 type loff_t = int64 1498 1499 type ino_t = uint64 1500 1501 type dev_t = uint64 1502 1503 type gid_t = uint32 1504 1505 type mode_t = uint32 1506 1507 type nlink_t = uint32 1508 1509 type uid_t = uint32 1510 1511 type pid_t = int32 1512 1513 type id_t = uint32 1514 1515 type daddr_t = int32 1516 type caddr_t = uintptr 1517 1518 type key_t = int32 1519 1520 type clock_t = int64 1521 1522 type clockid_t = int32 1523 1524 type time_t = int64 1525 1526 type timer_t = uintptr 1527 1528 type ulong = uint64 1529 type ushort = uint16 1530 type uint = uint32 1531 1532 type int8_t = int8 1533 type int16_t = int16 1534 type int32_t = int32 1535 type int64_t = int64 1536 1537 type u_int8_t = uint8 1538 type u_int16_t = uint16 1539 type u_int32_t = uint32 1540 type u_int64_t = uint64 1541 1542 type register_t = int32 1543 1544 type sigset_t = struct{ __val [16]uint64 } 1545 1546 type timeval = struct { 1547 tv_sec int64 1548 tv_usec int64 1549 } 1550 1551 type timespec = struct { 1552 tv_sec int64 1553 tv_nsec int64 1554 } 1555 1556 type suseconds_t = int64 1557 1558 type fd_set = struct{ __fds_bits [16]int64 } 1559 1560 type fd_mask = int64 1561 1562 type blksize_t = int32 1563 1564 type blkcnt_t = int64 1565 type fsblkcnt_t = uint64 1566 type fsfilcnt_t = uint64 1567 1568 type __pthread_internal_list = struct { 1569 __prev uintptr 1570 __next uintptr 1571 } 1572 1573 type __pthread_internal_slist = struct{ __next uintptr } 1574 1575 type __pthread_mutex_s = struct { 1576 __lock int32 1577 __count uint32 1578 __owner int32 1579 __nusers uint32 1580 __kind int32 1581 __spins int32 1582 __list struct { 1583 __prev uintptr 1584 __next uintptr 1585 } 1586 } 1587 1588 type __pthread_rwlock_arch_t = struct { 1589 __readers uint32 1590 __writers uint32 1591 __wrphase_futex uint32 1592 __writers_futex uint32 1593 __pad3 uint32 1594 __pad4 uint32 1595 __cur_writer int32 1596 __shared int32 1597 __pad1 uint64 1598 __pad2 uint64 1599 __flags uint32 1600 _ [4]byte 1601 } 1602 1603 type __pthread_cond_s = struct { 1604 __0 struct{ __wseq uint64 } 1605 __8 struct{ __g1_start uint64 } 1606 __g_refs [2]uint32 1607 __g_size [2]uint32 1608 __g1_orig_size uint32 1609 __wrefs uint32 1610 __g_signals [2]uint32 1611 } 1612 1613 type pthread_t = uint64 1614 1615 type pthread_mutexattr_t = struct { 1616 _ [0]uint32 1617 __size [4]uint8 1618 } 1619 1620 type pthread_condattr_t = struct { 1621 _ [0]uint32 1622 __size [4]uint8 1623 } 1624 1625 type pthread_key_t = uint32 1626 1627 type pthread_once_t = int32 1628 1629 type pthread_attr_t1 = struct { 1630 _ [0]uint64 1631 __size [56]uint8 1632 } 1633 1634 type pthread_attr_t = pthread_attr_t1 1635 1636 type pthread_mutex_t = struct{ __data __pthread_mutex_s } 1637 1638 type pthread_cond_t = struct{ __data __pthread_cond_s } 1639 1640 type pthread_rwlock_t = struct{ __data __pthread_rwlock_arch_t } 1641 1642 type pthread_rwlockattr_t = struct { 1643 _ [0]uint64 1644 __size [8]uint8 1645 } 1646 1647 type pthread_spinlock_t = int32 1648 1649 type pthread_barrier_t = struct { 1650 _ [0]uint64 1651 __size [32]uint8 1652 } 1653 1654 type pthread_barrierattr_t = struct { 1655 _ [0]uint32 1656 __size [4]uint8 1657 } 1658 1659 type random_data = struct { 1660 fptr uintptr 1661 rptr uintptr 1662 state uintptr 1663 rand_type int32 1664 rand_deg int32 1665 rand_sep int32 1666 _ [4]byte 1667 end_ptr uintptr 1668 } 1669 1670 type drand48_data = struct { 1671 __x [3]uint16 1672 __old_x [3]uint16 1673 __c uint16 1674 __init uint16 1675 __a uint64 1676 } 1677 1678 type __locale_struct = struct { 1679 __locales [13]uintptr 1680 __ctype_b uintptr 1681 __ctype_tolower uintptr 1682 __ctype_toupper uintptr 1683 __names [13]uintptr 1684 } 1685 1686 type locale_t = uintptr 1687 1688 type useconds_t = uint32 1689 1690 type intptr_t = int64 1691 1692 type socklen_t = uint32 1693 1694 type u64 = sqlite3_uint64 1695 1696 type HashContext1 = struct { 1697 isInit uint8 1698 i uint8 1699 j uint8 1700 s [256]uint8 1701 r [32]uint8 1702 } 1703 1704 type HashContext = HashContext1 1705 1706 type Global = struct { 1707 db uintptr 1708 pStmt uintptr 1709 iStart sqlite3_int64 1710 iTotal sqlite3_int64 1711 bWithoutRowid int32 1712 bReprepare int32 1713 bSqlOnly int32 1714 bExplain int32 1715 bVerify int32 1716 bMemShrink int32 1717 eTemp int32 1718 szTest int32 1719 nRepeat int32 1720 doCheckpoint int32 1721 nReserve int32 1722 _ [4]byte 1723 zWR uintptr 1724 zNN uintptr 1725 zPK uintptr 1726 x uint32 1727 y uint32 1728 nResByte u64 1729 nResult int32 1730 zResult [3000]uint8 1731 _ [4]byte 1732 hashFile uintptr 1733 hash HashContext 1734 _ [5]byte 1735 } 1736 1737 var g Global 1738 1739 func isTemp(tls *libc.TLS, N int32) uintptr { 1740 if g.eTemp >= N { 1741 return ts + 2263 1742 } 1743 return ts + 2269 1744 } 1745 1746 func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) { 1747 var ap va_list 1748 _ = ap 1749 ap = va 1750 libc.Xvfprintf(tls, libc.Xstderr, zMsg, ap) 1751 _ = ap 1752 libc.Xexit(tls, 1) 1753 } 1754 1755 func HashInit(tls *libc.TLS) { 1756 var k uint32 1757 g.hash.i = uint8(0) 1758 g.hash.j = uint8(0) 1759 for k = uint32(0); k < uint32(256); k++ { 1760 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(k))) = uint8(k) 1761 } 1762 } 1763 1764 func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) { 1765 var t uint8 1766 var i uint8 = g.hash.i 1767 var j uint8 = g.hash.j 1768 var k uint32 1769 if g.hashFile != 0 { 1770 libc.Xfwrite(tls, aData, uint64(1), uint64(nData), g.hashFile) 1771 } 1772 for k = uint32(0); k < nData; k++ { 1773 j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k)))))) 1774 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) 1775 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) 1776 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = t 1777 i++ 1778 } 1779 g.hash.i = i 1780 g.hash.j = j 1781 } 1782 1783 func HashFinal(tls *libc.TLS) { 1784 var k uint32 1785 var t uint8 1786 var i uint8 1787 var j uint8 1788 i = g.hash.i 1789 j = g.hash.j 1790 for k = uint32(0); k < uint32(32); k++ { 1791 i++ 1792 t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) 1793 j = uint8(int32(j) + int32(t)) 1794 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) 1795 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(j))) = t 1796 t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(i))))) 1797 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 3 + uintptr(t))) 1798 } 1799 } 1800 1801 func hexDigitValue(tls *libc.TLS, c uint8) int32 { 1802 if int32(c) >= '0' && int32(c) <= '9' { 1803 return int32(c) - '0' 1804 } 1805 if int32(c) >= 'a' && int32(c) <= 'f' { 1806 return int32(c) - 'a' + 10 1807 } 1808 if int32(c) >= 'A' && int32(c) <= 'F' { 1809 return int32(c) - 'A' + 10 1810 } 1811 return -1 1812 } 1813 1814 func integerValue(tls *libc.TLS, zArg uintptr) int32 { 1815 var v sqlite3_int64 = int64(0) 1816 var i int32 1817 var isNeg int32 = 0 1818 if int32(*(*uint8)(unsafe.Pointer(zArg))) == '-' { 1819 isNeg = 1 1820 zArg++ 1821 } else if int32(*(*uint8)(unsafe.Pointer(zArg))) == '+' { 1822 zArg++ 1823 } 1824 if int32(*(*uint8)(unsafe.Pointer(zArg))) == '0' && int32(*(*uint8)(unsafe.Pointer(zArg + 1))) == 'x' { 1825 var x int32 1826 zArg += uintptr(2) 1827 for libc.AssignInt32(&x, hexDigitValue(tls, *(*uint8)(unsafe.Pointer(zArg)))) >= 0 { 1828 v = v<<4 + sqlite3_int64(x) 1829 zArg++ 1830 } 1831 } else { 1832 for int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zArg))))*2)))&int32(_ISdigit) != 0 { 1833 v = v*int64(10) + sqlite3_int64(*(*uint8)(unsafe.Pointer(zArg))) - int64('0') 1834 zArg++ 1835 } 1836 } 1837 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aMult))/uint64(unsafe.Sizeof(struct { 1838 zSuffix uintptr 1839 iMult int32 1840 _ [4]byte 1841 }{})); i++ { 1842 if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 { 1843 v = v * sqlite3_int64(aMult[i].iMult) 1844 break 1845 } 1846 } 1847 if v > int64(0x7fffffff) { 1848 fatal_error(tls, ts+2270, 0) 1849 } 1850 return func() int32 { 1851 if isNeg != 0 { 1852 return int32(-v) 1853 } 1854 return int32(v) 1855 }() 1856 } 1857 1858 var aMult = [9]struct { 1859 zSuffix uintptr 1860 iMult int32 1861 _ [4]byte 1862 }{ 1863 {zSuffix: ts + 2307, iMult: 1024}, 1864 {zSuffix: ts + 2311, iMult: 1024 * 1024}, 1865 {zSuffix: ts + 2315, iMult: 1024 * 1024 * 1024}, 1866 {zSuffix: ts + 2319, iMult: 1000}, 1867 {zSuffix: ts + 2322, iMult: 1000000}, 1868 {zSuffix: ts + 2325, iMult: 1000000000}, 1869 {zSuffix: ts + 2328, iMult: 1000}, 1870 {zSuffix: ts + 2330, iMult: 1000000}, 1871 {zSuffix: ts + 2332, iMult: 1000000000}, 1872 } 1873 1874 func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 { 1875 bp := tls.Alloc(16) 1876 defer tls.Free(16) 1877 1878 if clockVfs == uintptr(0) { 1879 clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) 1880 } 1881 if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) { 1882 (*struct { 1883 f func(*libc.TLS, uintptr, uintptr) int32 1884 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp) 1885 } else { 1886 (*struct { 1887 f func(*libc.TLS, uintptr, uintptr) int32 1888 })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8) 1889 *(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0) 1890 } 1891 return *(*sqlite3_int64)(unsafe.Pointer(bp)) 1892 } 1893 1894 var clockVfs uintptr = uintptr(0) 1895 1896 func speedtest1_random(tls *libc.TLS) uint32 { 1897 g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001 1898 g.y = g.y*uint32(1103515245) + uint32(12345) 1899 return g.x ^ g.y 1900 } 1901 1902 func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 { 1903 var out uint32 = uint32(0) 1904 for limit != 0 { 1905 out = out<<1 | in&uint32(1) 1906 in >>= 1 1907 limit >>= 1 1908 } 1909 return out 1910 } 1911 1912 func roundup_allones(tls *libc.TLS, limit uint32) uint32 { 1913 var m uint32 = uint32(1) 1914 for m < limit { 1915 m = m<<1 + uint32(1) 1916 } 1917 return m 1918 } 1919 1920 func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 { 1921 bp := tls.Alloc(24) 1922 defer tls.Free(24) 1923 1924 var i int32 = 0 1925 1926 if n >= uint32(1000000000) { 1927 i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i) 1928 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2334, 0) 1929 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1930 n = n % uint32(1000000000) 1931 } 1932 if n >= uint32(1000000) { 1933 if i != 0 && i < nOut-1 { 1934 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1935 } 1936 i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i) 1937 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2343, 0) 1938 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1939 n = n % uint32(1000000) 1940 } 1941 if n >= uint32(1000) { 1942 if i != 0 && i < nOut-1 { 1943 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1944 } 1945 i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i) 1946 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2352, 0) 1947 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1948 n = n % uint32(1000) 1949 } 1950 if n >= uint32(100) { 1951 if i != 0 && i < nOut-1 { 1952 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1953 } 1954 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2362, libc.VaList(bp, ones[n/uint32(100)])) 1955 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1956 n = n % uint32(100) 1957 } 1958 if n >= uint32(20) { 1959 if i != 0 && i < nOut-1 { 1960 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1961 } 1962 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+8, tens[n/uint32(10)])) 1963 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1964 n = n % uint32(10) 1965 } 1966 if n > uint32(0) { 1967 if i != 0 && i < nOut-1 { 1968 *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(' ') 1969 } 1970 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2373, libc.VaList(bp+16, ones[n])) 1971 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1972 } 1973 if i == 0 { 1974 sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2376, 0) 1975 i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i))) 1976 } 1977 return i 1978 } 1979 1980 var ones = [20]uintptr{ts + 2376, ts + 2381, ts + 2385, ts + 2389, ts + 2395, ts + 2400, 1981 ts + 2405, ts + 2409, ts + 2415, ts + 2421, ts + 2426, ts + 2430, ts + 2437, 1982 ts + 2444, ts + 2453, ts + 2462, ts + 2470, ts + 2478, 1983 ts + 2488, ts + 2497} 1984 var tens = [10]uintptr{ts + 2269, ts + 2426, ts + 2506, ts + 2513, ts + 2520, 1985 ts + 2526, ts + 2532, ts + 2538, ts + 2546, ts + 2553} 1986 1987 var zDots = *(*[72]uint8)(unsafe.Pointer(ts + 2560)) 1988 1989 func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) { 1990 bp := tls.Alloc(64) 1991 defer tls.Free(64) 1992 1993 var n int32 = int32(libc.Xstrlen(tls, zTestName)) 1994 var zName uintptr 1995 var ap va_list 1996 _ = ap 1997 ap = va 1998 zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap) 1999 _ = ap 2000 n = int32(libc.Xstrlen(tls, zName)) 2001 if n > NAMEWIDTH { 2002 *(*uint8)(unsafe.Pointer(zName + 60)) = uint8(0) 2003 n = NAMEWIDTH 2004 } 2005 if g.bSqlOnly != 0 { 2006 libc.Xprintf(tls, ts+2632, libc.VaList(bp, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 2007 } else { 2008 libc.Xprintf(tls, ts+2652, libc.VaList(bp+32, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots)))) 2009 libc.Xfflush(tls, libc.Xstdout) 2010 } 2011 sqlite3.Xsqlite3_free(tls, zName) 2012 g.nResult = 0 2013 g.iStart = speedtest1_timestamp(tls) 2014 g.x = 0xad131d0b 2015 g.y = uint32(0x44f9eac8) 2016 } 2017 2018 func speedtest1_end_test(tls *libc.TLS) { 2019 bp := tls.Alloc(16) 2020 defer tls.Free(16) 2021 2022 var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart 2023 if g.doCheckpoint != 0 { 2024 speedtest1_exec(tls, ts+2666, 0) 2025 } 2026 if !(g.bSqlOnly != 0) { 2027 *(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 24)) += iElapseTime 2028 libc.Xprintf(tls, ts+2689, libc.VaList(bp, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000)))) 2029 } 2030 if g.pStmt != 0 { 2031 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 2032 g.pStmt = uintptr(0) 2033 } 2034 } 2035 2036 func speedtest1_final(tls *libc.TLS) { 2037 bp := tls.Alloc(48) 2038 defer tls.Free(48) 2039 2040 if !(g.bSqlOnly != 0) { 2041 libc.Xprintf(tls, ts+2700, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)), 2042 int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000)))) 2043 } 2044 if g.bVerify != 0 { 2045 var i int32 2046 libc.Xprintf(tls, ts+2728, libc.VaList(bp+32, g.nResByte)) 2047 HashUpdate(tls, ts+2753, uint32(1)) 2048 HashFinal(tls) 2049 for i = 0; i < 24; i++ { 2050 libc.Xprintf(tls, ts+2755, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3136 + 259 + uintptr(i)))))) 2051 } 2052 if g.hashFile != 0 && g.hashFile != libc.Xstdout { 2053 libc.Xfclose(tls, g.hashFile) 2054 } 2055 libc.Xprintf(tls, ts+2753, 0) 2056 } 2057 } 2058 2059 func printSql(tls *libc.TLS, zSql uintptr) { 2060 bp := tls.Alloc(32) 2061 defer tls.Free(32) 2062 2063 var n int32 = int32(libc.Xstrlen(tls, zSql)) 2064 for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&int32(_ISspace) != 0) { 2065 n-- 2066 } 2067 if g.bExplain != 0 { 2068 libc.Xprintf(tls, ts+2760, 0) 2069 } 2070 libc.Xprintf(tls, ts+2769, libc.VaList(bp, n, zSql)) 2071 if g.bExplain != 0 && 2072 (sqlite3.Xsqlite3_strglob(tls, ts+2776, zSql) == 0 || 2073 sqlite3.Xsqlite3_strglob(tls, ts+2785, zSql) == 0 || 2074 sqlite3.Xsqlite3_strglob(tls, ts+2792, zSql) == 0) { 2075 libc.Xprintf(tls, ts+2769, libc.VaList(bp+16, n, zSql)) 2076 } 2077 } 2078 2079 func speedtest1_shrink_memory(tls *libc.TLS) { 2080 if g.bMemShrink != 0 { 2081 sqlite3.Xsqlite3_db_release_memory(tls, g.db) 2082 } 2083 } 2084 2085 func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { 2086 bp := tls.Alloc(32) 2087 defer tls.Free(32) 2088 2089 var ap va_list 2090 _ = ap 2091 var zSql uintptr 2092 ap = va 2093 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2094 _ = ap 2095 if g.bSqlOnly != 0 { 2096 printSql(tls, zSql) 2097 } else { 2098 *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) 2099 var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24) 2100 if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 { 2101 fatal_error(tls, ts+2800, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24)), zSql)) 2102 } 2103 if rc != SQLITE_OK { 2104 fatal_error(tls, ts+2818, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2105 } 2106 } 2107 sqlite3.Xsqlite3_free(tls, zSql) 2108 speedtest1_shrink_memory(tls) 2109 } 2110 2111 func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { 2112 bp := tls.Alloc(24) 2113 defer tls.Free(24) 2114 2115 var ap va_list 2116 _ = ap 2117 var zSql uintptr 2118 2119 var zResult uintptr = uintptr(0) 2120 ap = va 2121 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2122 _ = ap 2123 if g.bSqlOnly != 0 { 2124 printSql(tls, zSql) 2125 } else { 2126 var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0)) 2127 if rc != 0 { 2128 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2129 } 2130 if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW { 2131 var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 0) 2132 if z != 0 { 2133 zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2373, libc.VaList(bp+8, z)) 2134 } 2135 } 2136 sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 2137 } 2138 sqlite3.Xsqlite3_free(tls, zSql) 2139 speedtest1_shrink_memory(tls) 2140 return zResult 2141 } 2142 2143 func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) { 2144 bp := tls.Alloc(8) 2145 defer tls.Free(8) 2146 2147 var ap va_list 2148 _ = ap 2149 var zSql uintptr 2150 ap = va 2151 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2152 _ = ap 2153 if g.bSqlOnly != 0 { 2154 printSql(tls, zSql) 2155 } else { 2156 var rc int32 2157 if g.pStmt != 0 { 2158 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 2159 } 2160 rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+8, uintptr(0)) 2161 if rc != 0 { 2162 fatal_error(tls, ts+2834, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2163 } 2164 } 2165 sqlite3.Xsqlite3_free(tls, zSql) 2166 } 2167 2168 func speedtest1_run(tls *libc.TLS) { 2169 bp := tls.Alloc(16) 2170 defer tls.Free(16) 2171 2172 var i int32 2173 var n int32 2174 var len int32 2175 if g.bSqlOnly != 0 { 2176 return 2177 } 2178 2179 g.nResult = 0 2180 for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW { 2181 n = sqlite3.Xsqlite3_column_count(tls, g.pStmt) 2182 for i = 0; i < n; i++ { 2183 var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i) 2184 if z == uintptr(0) { 2185 z = ts + 2849 2186 } 2187 len = int32(libc.Xstrlen(tls, z)) 2188 if g.bVerify != 0 { 2189 var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i) 2190 2191 *(*uint8)(unsafe.Pointer(bp)) = uint8('\n') 2192 *(*uint8)(unsafe.Pointer(bp + 1)) = *(*uint8)(unsafe.Pointer(ts + 2853 + uintptr(eType))) 2193 if g.nResByte != 0 { 2194 HashUpdate(tls, bp, uint32(2)) 2195 } else { 2196 HashUpdate(tls, bp+uintptr(1), uint32(1)) 2197 } 2198 if eType == SQLITE_FLOAT { 2199 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += uint64(2) 2200 } else if eType == SQLITE_BLOB { 2201 var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i) 2202 var iBlob int32 2203 2204 var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i) 2205 for iBlob = 0; iBlob < nBlob; iBlob++ { 2206 *(*uint8)(unsafe.Pointer(bp + 2)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4))) 2207 *(*uint8)(unsafe.Pointer(bp + 2 + 1)) = *(*uint8)(unsafe.Pointer(ts + 2860 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15))) 2208 HashUpdate(tls, bp+2, uint32(2)) 2209 } 2210 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(nBlob*2 + 2) 2211 } else { 2212 HashUpdate(tls, z, uint32(len)) 2213 *(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(len + 2) 2214 } 2215 } 2216 if uint64(g.nResult+len) < uint64(unsafe.Sizeof([3000]uint8{}))-uint64(2) { 2217 if g.nResult > 0 { 2218 *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 124 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = uint8(' ') 2219 } 2220 libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+124+uintptr(g.nResult), z, uint64(len+1)) 2221 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 120)) += len 2222 } 2223 } 2224 } 2225 if g.bReprepare != 0 { 2226 sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+8, uintptr(0)) 2227 sqlite3.Xsqlite3_finalize(tls, g.pStmt) 2228 g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 8)) 2229 } else { 2230 sqlite3.Xsqlite3_reset(tls, g.pStmt) 2231 } 2232 speedtest1_shrink_memory(tls) 2233 } 2234 2235 func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) { 2236 bp := tls.Alloc(16) 2237 defer tls.Free(16) 2238 2239 var n int32 = int32(libc.Xstrlen(tls, zSql)) 2240 for n > 0 && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(n-1)))))*2)))&int32(_ISspace) != 0) { 2241 n-- 2242 } 2243 libc.Xfprintf(tls, libc.Xstderr, ts+2769, libc.VaList(bp, n, zSql)) 2244 } 2245 2246 func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { 2247 sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls))) 2248 } 2249 2250 func est_square_root(tls *libc.TLS, x int32) int32 { 2251 var y0 int32 = x / 2 2252 var y1 int32 2253 var n int32 2254 for n = 0; y0 > 0 && n < 10; n++ { 2255 y1 = (y0 + x/y0) / 2 2256 if y1 == y0 { 2257 break 2258 } 2259 y0 = y1 2260 } 2261 return y0 2262 } 2263 2264 func testset_main(tls *libc.TLS) { 2265 bp := tls.Alloc(2568) 2266 defer tls.Free(2568) 2267 2268 var i int32 2269 var n int32 2270 var sz int32 2271 var maxb int32 2272 var x1 uint32 = uint32(0) 2273 var x2 uint32 = uint32(0) 2274 var len int32 = 0 2275 2276 sz = libc.AssignInt32(&n, g.szTest*500) 2277 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0) 2278 maxb = int32(roundup_allones(tls, uint32(sz))) 2279 speedtest1_begin_test(tls, 100, ts+2877, libc.VaList(bp, n)) 2280 speedtest1_exec(tls, ts+2913, 0) 2281 speedtest1_exec(tls, ts+2919, 2282 libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN)) 2283 speedtest1_prepare(tls, ts+2977, libc.VaList(bp+40, n)) 2284 for i = 1; i <= n; i++ { 2285 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2286 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2287 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 2288 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2289 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2290 speedtest1_run(tls) 2291 } 2292 speedtest1_exec(tls, ts+3023, 0) 2293 speedtest1_end_test(tls) 2294 2295 n = sz 2296 speedtest1_begin_test(tls, 110, ts+3030, libc.VaList(bp+48, n)) 2297 speedtest1_exec(tls, ts+2913, 0) 2298 speedtest1_exec(tls, 2299 ts+3067, 2300 libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2301 speedtest1_prepare(tls, ts+3130, libc.VaList(bp+104, n)) 2302 for i = 1; i <= n; i++ { 2303 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2304 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2305 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i) 2306 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1)) 2307 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2308 speedtest1_run(tls) 2309 } 2310 speedtest1_exec(tls, ts+3023, 0) 2311 speedtest1_end_test(tls) 2312 2313 n = sz 2314 speedtest1_begin_test(tls, 120, ts+3175, libc.VaList(bp+112, n)) 2315 speedtest1_exec(tls, ts+2913, 0) 2316 speedtest1_exec(tls, 2317 ts+3214, 2318 libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2319 speedtest1_prepare(tls, ts+3277, libc.VaList(bp+168, n)) 2320 for i = 1; i <= n; i++ { 2321 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2322 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2323 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2324 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) 2325 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0)) 2326 speedtest1_run(tls) 2327 } 2328 speedtest1_exec(tls, ts+3023, 0) 2329 speedtest1_end_test(tls) 2330 2331 n = 25 2332 speedtest1_begin_test(tls, 130, ts+3322, libc.VaList(bp+176, n)) 2333 speedtest1_exec(tls, ts+2913, 0) 2334 speedtest1_prepare(tls, 2335 ts+3361, libc.VaList(bp+184, n)) 2336 for i = 1; i <= n; i++ { 2337 if (i-1)%g.nRepeat == 0 { 2338 x1 = speedtest1_random(tls) % uint32(maxb) 2339 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2340 } 2341 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2342 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2343 speedtest1_run(tls) 2344 } 2345 speedtest1_exec(tls, ts+3023, 0) 2346 speedtest1_end_test(tls) 2347 2348 n = 10 2349 speedtest1_begin_test(tls, 140, ts+3466, libc.VaList(bp+192, n)) 2350 speedtest1_exec(tls, ts+2913, 0) 2351 speedtest1_prepare(tls, 2352 ts+3494, libc.VaList(bp+200, n)) 2353 for i = 1; i <= n; i++ { 2354 if (i-1)%g.nRepeat == 0 { 2355 x1 = speedtest1_random(tls) % uint32(maxb) 2356 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%') 2357 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2))) 2358 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%') 2359 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0) 2360 } 2361 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2362 speedtest1_run(tls) 2363 } 2364 speedtest1_exec(tls, ts+3023, 0) 2365 speedtest1_end_test(tls) 2366 2367 n = 10 2368 speedtest1_begin_test(tls, 142, ts+3589, libc.VaList(bp+208, n)) 2369 speedtest1_exec(tls, ts+2913, 0) 2370 speedtest1_prepare(tls, 2371 ts+3622, libc.VaList(bp+216, n)) 2372 for i = 1; i <= n; i++ { 2373 if (i-1)%g.nRepeat == 0 { 2374 x1 = speedtest1_random(tls) % uint32(maxb) 2375 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%') 2376 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2))) 2377 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%') 2378 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0) 2379 } 2380 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2381 speedtest1_run(tls) 2382 } 2383 speedtest1_exec(tls, ts+3023, 0) 2384 speedtest1_end_test(tls) 2385 2386 n = 10 2387 speedtest1_begin_test(tls, 145, ts+3686, libc.VaList(bp+224, n)) 2388 speedtest1_exec(tls, ts+2913, 0) 2389 speedtest1_prepare(tls, 2390 ts+3729, libc.VaList(bp+232, n)) 2391 for i = 1; i <= n; i++ { 2392 if (i-1)%g.nRepeat == 0 { 2393 x1 = speedtest1_random(tls) % uint32(maxb) 2394 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8('%') 2395 len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(2))) 2396 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len))) = uint8('%') 2397 *(*uint8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = uint8(0) 2398 } 2399 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0)) 2400 speedtest1_run(tls) 2401 } 2402 speedtest1_exec(tls, ts+3023, 0) 2403 speedtest1_end_test(tls) 2404 2405 speedtest1_begin_test(tls, 150, ts+3802, 0) 2406 speedtest1_exec(tls, ts+3826, 0) 2407 speedtest1_exec(tls, ts+3833, 0) 2408 speedtest1_exec(tls, ts+3867, 0) 2409 speedtest1_exec(tls, ts+3894, 0) 2410 speedtest1_exec(tls, ts+3928, 0) 2411 speedtest1_exec(tls, ts+3960, 0) 2412 speedtest1_exec(tls, ts+3990, 0) 2413 speedtest1_end_test(tls) 2414 2415 n = sz / 5 2416 speedtest1_begin_test(tls, 160, ts+3998, libc.VaList(bp+240, n)) 2417 speedtest1_exec(tls, ts+2913, 0) 2418 speedtest1_prepare(tls, 2419 ts+4035, libc.VaList(bp+248, n)) 2420 for i = 1; i <= n; i++ { 2421 if (i-1)%g.nRepeat == 0 { 2422 x1 = speedtest1_random(tls) % uint32(maxb) 2423 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2424 } 2425 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2426 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2427 speedtest1_run(tls) 2428 } 2429 speedtest1_exec(tls, ts+3023, 0) 2430 speedtest1_end_test(tls) 2431 2432 n = sz / 5 2433 speedtest1_begin_test(tls, 161, ts+4140, libc.VaList(bp+256, n)) 2434 speedtest1_exec(tls, ts+2913, 0) 2435 speedtest1_prepare(tls, 2436 ts+4172, libc.VaList(bp+264, n)) 2437 for i = 1; i <= n; i++ { 2438 if (i-1)%g.nRepeat == 0 { 2439 x1 = speedtest1_random(tls) % uint32(maxb) 2440 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2441 } 2442 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2443 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2444 speedtest1_run(tls) 2445 } 2446 speedtest1_exec(tls, ts+3023, 0) 2447 speedtest1_end_test(tls) 2448 2449 n = sz / 5 2450 speedtest1_begin_test(tls, 170, ts+4277, libc.VaList(bp+272, n)) 2451 speedtest1_exec(tls, ts+2913, 0) 2452 speedtest1_prepare(tls, 2453 ts+4311, libc.VaList(bp+280, n)) 2454 for i = 1; i <= n; i++ { 2455 if (i-1)%g.nRepeat == 0 { 2456 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2457 len = speedtest1_numbername(tls, x1, bp+568, int32(uint64(unsafe.Sizeof([2000]uint8{}))-uint64(1))) 2458 } 2459 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0)) 2460 speedtest1_run(tls) 2461 } 2462 speedtest1_exec(tls, ts+3023, 0) 2463 speedtest1_end_test(tls) 2464 2465 n = sz 2466 speedtest1_begin_test(tls, 180, ts+4423, libc.VaList(bp+288, n)) 2467 speedtest1_exec(tls, ts+2913, 0) 2468 speedtest1_exec(tls, 2469 ts+4453, 2470 libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) 2471 speedtest1_exec(tls, ts+4524, 0) 2472 speedtest1_exec(tls, ts+4550, 0) 2473 speedtest1_exec(tls, ts+4576, 0) 2474 speedtest1_exec(tls, ts+3023, 0) 2475 speedtest1_end_test(tls) 2476 2477 n = sz 2478 speedtest1_begin_test(tls, 190, ts+4608, libc.VaList(bp+344, n)) 2479 speedtest1_exec(tls, ts+4636, 0) 2480 speedtest1_exec(tls, ts+4652, 0) 2481 speedtest1_end_test(tls) 2482 2483 speedtest1_begin_test(tls, 200, ts+4685, 0) 2484 speedtest1_exec(tls, ts+4685, 0) 2485 speedtest1_end_test(tls) 2486 2487 speedtest1_begin_test(tls, 210, ts+4692, 0) 2488 speedtest1_exec(tls, ts+4726, 0) 2489 speedtest1_exec(tls, ts+4770, 0) 2490 speedtest1_end_test(tls) 2491 2492 n = sz / 5 2493 speedtest1_begin_test(tls, 230, ts+4792, libc.VaList(bp+352, n)) 2494 speedtest1_exec(tls, ts+2913, 0) 2495 speedtest1_prepare(tls, 2496 ts+4829, libc.VaList(bp+360, n)) 2497 for i = 1; i <= n; i++ { 2498 x1 = speedtest1_random(tls) % uint32(maxb) 2499 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2500 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2501 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2502 speedtest1_run(tls) 2503 } 2504 speedtest1_exec(tls, ts+3023, 0) 2505 speedtest1_end_test(tls) 2506 2507 n = sz 2508 speedtest1_begin_test(tls, 240, ts+4888, libc.VaList(bp+368, n)) 2509 speedtest1_exec(tls, ts+2913, 0) 2510 speedtest1_prepare(tls, 2511 ts+4918, libc.VaList(bp+376, n)) 2512 for i = 1; i <= n; i++ { 2513 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2514 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2515 speedtest1_run(tls) 2516 } 2517 speedtest1_exec(tls, ts+3023, 0) 2518 speedtest1_end_test(tls) 2519 2520 speedtest1_begin_test(tls, 250, ts+4962, libc.VaList(bp+384, sz)) 2521 speedtest1_exec(tls, ts+5003, 0) 2522 speedtest1_end_test(tls) 2523 2524 speedtest1_begin_test(tls, 260, ts+5023, 0) 2525 speedtest1_exec(tls, ts+4770, 0) 2526 speedtest1_end_test(tls) 2527 2528 n = sz / 5 2529 speedtest1_begin_test(tls, 270, ts+5056, libc.VaList(bp+392, n)) 2530 speedtest1_exec(tls, ts+2913, 0) 2531 speedtest1_prepare(tls, 2532 ts+5093, libc.VaList(bp+400, n)) 2533 for i = 1; i <= n; i++ { 2534 x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1) 2535 x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1 2536 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2537 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2538 speedtest1_run(tls) 2539 } 2540 speedtest1_exec(tls, ts+3023, 0) 2541 speedtest1_end_test(tls) 2542 2543 n = sz 2544 speedtest1_begin_test(tls, 280, ts+5147, libc.VaList(bp+408, n)) 2545 speedtest1_exec(tls, ts+2913, 0) 2546 speedtest1_prepare(tls, 2547 ts+5177, libc.VaList(bp+416, n)) 2548 for i = 1; i <= n; i++ { 2549 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2550 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2551 speedtest1_run(tls) 2552 } 2553 speedtest1_exec(tls, ts+3023, 0) 2554 speedtest1_end_test(tls) 2555 2556 speedtest1_begin_test(tls, 290, ts+5216, libc.VaList(bp+424, sz)) 2557 speedtest1_exec(tls, ts+5255, 0) 2558 speedtest1_exec(tls, ts+5299, 0) 2559 speedtest1_end_test(tls) 2560 2561 speedtest1_begin_test(tls, 300, ts+5343, libc.VaList(bp+432, sz)) 2562 speedtest1_exec(tls, ts+4636, 0) 2563 speedtest1_exec(tls, 2564 ts+5384, 0) 2565 speedtest1_exec(tls, 2566 ts+5449, 0) 2567 speedtest1_end_test(tls) 2568 2569 n = sz / 5 2570 speedtest1_begin_test(tls, 310, ts+5514, libc.VaList(bp+440, n)) 2571 speedtest1_exec(tls, ts+2913, 0) 2572 speedtest1_prepare(tls, 2573 ts+5533, 0) 2574 for i = 1; i <= n; i++ { 2575 x1 = speedtest1_random(tls)%uint32(sz) + uint32(1) 2576 x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4) 2577 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 2578 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2)) 2579 speedtest1_run(tls) 2580 } 2581 speedtest1_exec(tls, ts+3023, 0) 2582 speedtest1_end_test(tls) 2583 2584 speedtest1_begin_test(tls, 320, ts+5646, libc.VaList(bp+448, n)) 2585 speedtest1_prepare(tls, 2586 ts+5669, 0) 2587 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50) 2588 speedtest1_run(tls) 2589 speedtest1_end_test(tls) 2590 2591 sz = libc.AssignInt32(&n, g.szTest*700) 2592 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0) 2593 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2594 speedtest1_begin_test(tls, 400, ts+5787, libc.VaList(bp+456, n)) 2595 speedtest1_exec(tls, ts+2913, 0) 2596 speedtest1_exec(tls, ts+5812, 2597 libc.VaList(bp+464, isTemp(tls, 9), g.zNN)) 2598 speedtest1_prepare(tls, ts+5860, libc.VaList(bp+480, n)) 2599 for i = 1; i <= n; i++ { 2600 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2601 speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2602 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2603 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0)) 2604 speedtest1_run(tls) 2605 } 2606 speedtest1_exec(tls, ts+3023, 0) 2607 speedtest1_end_test(tls) 2608 speedtest1_begin_test(tls, 410, ts+5904, libc.VaList(bp+488, n)) 2609 speedtest1_prepare(tls, ts+5925, libc.VaList(bp+496, n)) 2610 for i = 1; i <= n; i++ { 2611 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2612 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) 2613 speedtest1_run(tls) 2614 } 2615 speedtest1_end_test(tls) 2616 2617 sz = libc.AssignInt32(&n, g.szTest*700) 2618 *(*uint8)(unsafe.Pointer(bp + 568)) = uint8(0) 2619 maxb = int32(roundup_allones(tls, uint32(sz/3))) 2620 speedtest1_begin_test(tls, 500, ts+5967, libc.VaList(bp+504, n)) 2621 speedtest1_exec(tls, ts+2913, 0) 2622 speedtest1_exec(tls, ts+5989, 2623 libc.VaList(bp+512, isTemp(tls, 9), g.zNN, 2624 func() uintptr { 2625 if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 { 2626 return ts + 6036 2627 } 2628 return ts + 2269 2629 }())) 2630 speedtest1_prepare(tls, ts+6050, libc.VaList(bp+536, n)) 2631 for i = 1; i <= n; i++ { 2632 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2633 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2634 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) 2635 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2636 speedtest1_run(tls) 2637 } 2638 speedtest1_exec(tls, ts+3023, 0) 2639 speedtest1_end_test(tls) 2640 speedtest1_begin_test(tls, 510, ts+6094, libc.VaList(bp+544, n)) 2641 speedtest1_prepare(tls, ts+6118, libc.VaList(bp+552, n)) 2642 for i = 1; i <= n; i++ { 2643 x1 = swizzle(tls, uint32(i), uint32(maxb)) 2644 speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]uint8{}))) 2645 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0)) 2646 speedtest1_run(tls) 2647 } 2648 speedtest1_end_test(tls) 2649 speedtest1_begin_test(tls, 520, ts+6160, libc.VaList(bp+560, n)) 2650 speedtest1_exec(tls, ts+6179, 0) 2651 speedtest1_exec(tls, ts+6206, 0) 2652 speedtest1_end_test(tls) 2653 2654 speedtest1_begin_test(tls, 980, ts+6233, 0) 2655 speedtest1_exec(tls, ts+6233, 0) 2656 speedtest1_end_test(tls) 2657 2658 speedtest1_begin_test(tls, 990, ts+6256, 0) 2659 speedtest1_exec(tls, ts+6256, 0) 2660 speedtest1_end_test(tls) 2661 } 2662 2663 func testset_cte(tls *libc.TLS) { 2664 bp := tls.Alloc(32) 2665 defer tls.Free(32) 2666 2667 var zPuz uintptr 2668 var rSpacing float64 2669 var nElem int32 2670 2671 if g.szTest < 25 { 2672 zPuz = azPuzzle[0] 2673 } else if g.szTest < 70 { 2674 zPuz = azPuzzle[1] 2675 } else { 2676 zPuz = azPuzzle[2] 2677 } 2678 speedtest1_begin_test(tls, 100, ts+6264, 0) 2679 speedtest1_prepare(tls, 2680 ts+6295, 0) 2681 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2682 speedtest1_run(tls) 2683 speedtest1_end_test(tls) 2684 2685 speedtest1_begin_test(tls, 200, ts+7099, 0) 2686 speedtest1_prepare(tls, 2687 ts+7127, 0) 2688 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0)) 2689 speedtest1_run(tls) 2690 speedtest1_end_test(tls) 2691 2692 rSpacing = 5.0 / float64(g.szTest) 2693 speedtest1_begin_test(tls, 300, ts+7939, libc.VaList(bp, rSpacing)) 2694 speedtest1_prepare(tls, 2695 ts+7970, 0) 2696 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05) 2697 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing) 2698 speedtest1_run(tls) 2699 speedtest1_end_test(tls) 2700 2701 nElem = 10000 * g.szTest 2702 speedtest1_begin_test(tls, 400, ts+8566, libc.VaList(bp+8, nElem)) 2703 speedtest1_prepare(tls, 2704 ts+8603, 2705 libc.VaList(bp+16, nElem, nElem)) 2706 speedtest1_run(tls) 2707 speedtest1_end_test(tls) 2708 } 2709 2710 var azPuzzle = [3]uintptr{ 2711 ts + 8834, 2712 ts + 8916, 2713 ts + 8998, 2714 } 2715 2716 func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) { 2717 bp := tls.Alloc(24) 2718 defer tls.Free(24) 2719 2720 var x int32 = int32(speedtest1_random(tls)) 2721 var y int32 = int32(speedtest1_random(tls)) 2722 var z int32 2723 z = y % 10 2724 if z < 0 { 2725 z = -z 2726 } 2727 y = y / 10 2728 sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9080, libc.VaList(bp, y, z, x%200)) 2729 } 2730 2731 func testset_fp(tls *libc.TLS) { 2732 bp := tls.Alloc(272) 2733 defer tls.Free(272) 2734 2735 var n int32 2736 var i int32 2737 2738 n = g.szTest * 5000 2739 speedtest1_begin_test(tls, 100, ts+9089, libc.VaList(bp, n*2)) 2740 speedtest1_exec(tls, ts+2913, 0) 2741 speedtest1_exec(tls, ts+9120, 2742 libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN)) 2743 speedtest1_prepare(tls, ts+9161, libc.VaList(bp+32, n)) 2744 for i = 1; i <= n; i++ { 2745 speedtest1_random_ascii_fp(tls, bp+72) 2746 speedtest1_random_ascii_fp(tls, bp+172) 2747 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2748 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2749 speedtest1_run(tls) 2750 } 2751 speedtest1_exec(tls, ts+3023, 0) 2752 speedtest1_end_test(tls) 2753 2754 n = g.szTest/25 + 2 2755 speedtest1_begin_test(tls, 110, ts+9203, libc.VaList(bp+40, n)) 2756 speedtest1_prepare(tls, ts+9220, 0) 2757 for i = 1; i <= n; i++ { 2758 speedtest1_random_ascii_fp(tls, bp+72) 2759 speedtest1_random_ascii_fp(tls, bp+172) 2760 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2761 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2762 speedtest1_run(tls) 2763 } 2764 speedtest1_end_test(tls) 2765 2766 speedtest1_begin_test(tls, 120, ts+9268, 0) 2767 speedtest1_exec(tls, ts+3826, 0) 2768 speedtest1_exec(tls, ts+9293, 0) 2769 speedtest1_exec(tls, ts+9320, 0) 2770 speedtest1_exec(tls, ts+9347, 0) 2771 speedtest1_exec(tls, ts+3990, 0) 2772 speedtest1_end_test(tls) 2773 2774 n = g.szTest/3 + 2 2775 speedtest1_begin_test(tls, 130, ts+9377, libc.VaList(bp+48, n)) 2776 speedtest1_prepare(tls, ts+9220, 0) 2777 for i = 1; i <= n; i++ { 2778 speedtest1_random_ascii_fp(tls, bp+72) 2779 speedtest1_random_ascii_fp(tls, bp+172) 2780 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0)) 2781 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0)) 2782 speedtest1_run(tls) 2783 } 2784 speedtest1_end_test(tls) 2785 2786 n = g.szTest * 5000 2787 speedtest1_begin_test(tls, 140, ts+9402, libc.VaList(bp+56, n)) 2788 speedtest1_exec(tls, ts+9422, 0) 2789 speedtest1_end_test(tls) 2790 2791 speedtest1_begin_test(tls, 150, ts+9465, libc.VaList(bp+64, n*4)) 2792 speedtest1_exec(tls, 2793 ts+9483, 0) 2794 speedtest1_end_test(tls) 2795 } 2796 2797 func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) { 2798 var d uint32 2799 var x0 uint32 2800 var x1 uint32 2801 var span uint32 2802 2803 span = mx/uint32(100) + uint32(1) 2804 if speedtest1_random(tls)%uint32(3) == uint32(0) { 2805 span = span * uint32(p1) 2806 } 2807 if speedtest1_random(tls)%uint32(p2) == uint32(0) { 2808 span = mx / uint32(2) 2809 } 2810 d = speedtest1_random(tls)%span + uint32(1) 2811 x0 = speedtest1_random(tls)%(mx-d) + uint32(1) 2812 x1 = x0 + d 2813 *(*uint32)(unsafe.Pointer(pX0)) = x0 2814 *(*uint32)(unsafe.Pointer(pX1)) = x1 2815 } 2816 2817 func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 { 2818 *(*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))) 2819 return SQLITE_OK 2820 } 2821 2822 func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { 2823 bp := tls.Alloc(224) 2824 defer tls.Free(224) 2825 2826 var i uint32 2827 var n uint32 2828 var mxCoord uint32 2829 2830 var iStep uint32 2831 var mxRowid uint32 2832 var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(g.szTest)*uint64(500))) 2833 2834 mxCoord = uint32(15000) 2835 mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500)) 2836 speedtest1_begin_test(tls, 100, ts+9578, libc.VaList(bp, n)) 2837 speedtest1_exec(tls, ts+2913, 0) 2838 speedtest1_exec(tls, ts+9604, 0) 2839 speedtest1_prepare(tls, 2840 ts+9663, 0) 2841 for i = uint32(1); i <= n; i++ { 2842 twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204) 2843 twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212) 2844 twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220) 2845 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2846 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200)))) 2847 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204)))) 2848 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208)))) 2849 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212)))) 2850 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216)))) 2851 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220)))) 2852 speedtest1_run(tls) 2853 } 2854 speedtest1_exec(tls, ts+3023, 0) 2855 speedtest1_end_test(tls) 2856 2857 speedtest1_begin_test(tls, 101, ts+9729, 0) 2858 speedtest1_exec(tls, ts+9764, 0) 2859 speedtest1_exec(tls, ts+9822, 0) 2860 speedtest1_end_test(tls) 2861 2862 n = uint32(g.szTest * 200) 2863 speedtest1_begin_test(tls, 110, ts+9855, libc.VaList(bp+8, n)) 2864 speedtest1_prepare(tls, ts+9898, 0) 2865 iStep = mxCoord / n 2866 for i = uint32(0); i < n; i++ { 2867 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2868 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2869 speedtest1_run(tls) 2870 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2871 } 2872 speedtest1_end_test(tls) 2873 2874 if g.bVerify != 0 { 2875 n = uint32(g.szTest * 200) 2876 speedtest1_begin_test(tls, 111, ts+9947, 0) 2877 speedtest1_prepare(tls, ts+9994, 0) 2878 iStep = mxCoord / n 2879 for i = uint32(0); i < n; i++ { 2880 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2881 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2882 speedtest1_run(tls) 2883 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) { 2884 fatal_error(tls, ts+10042, 2885 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))) 2886 } 2887 } 2888 speedtest1_end_test(tls) 2889 } 2890 2891 n = uint32(g.szTest * 200) 2892 speedtest1_begin_test(tls, 120, ts+10084, libc.VaList(bp+56, n)) 2893 speedtest1_prepare(tls, ts+10125, 0) 2894 iStep = mxCoord / n 2895 for i = uint32(0); i < n; i++ { 2896 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2897 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2898 speedtest1_run(tls) 2899 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2900 } 2901 speedtest1_end_test(tls) 2902 2903 if g.bVerify != 0 { 2904 n = uint32(g.szTest * 200) 2905 speedtest1_begin_test(tls, 121, ts+10174, 0) 2906 speedtest1_prepare(tls, ts+10219, 0) 2907 iStep = mxCoord / n 2908 for i = uint32(0); i < n; i++ { 2909 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2910 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2911 speedtest1_run(tls) 2912 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) { 2913 fatal_error(tls, ts+10042, 2914 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))) 2915 } 2916 } 2917 speedtest1_end_test(tls) 2918 } 2919 2920 n = uint32(g.szTest * 200) 2921 speedtest1_begin_test(tls, 125, ts+10267, libc.VaList(bp+104, n)) 2922 sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10303, *(*uintptr)(unsafe.Pointer(&struct { 2923 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2924 }{xsliceGeometryCallback})), uintptr(0)) 2925 speedtest1_prepare(tls, ts+10310, 0) 2926 iStep = mxCoord / n 2927 for i = uint32(0); i < n; i++ { 2928 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2929 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2930 speedtest1_run(tls) 2931 if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) { 2932 fatal_error(tls, ts+10042, 2933 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))) 2934 } 2935 } 2936 speedtest1_end_test(tls) 2937 2938 n = uint32(g.szTest * 400) 2939 speedtest1_begin_test(tls, 130, ts+10364, libc.VaList(bp+152, n)) 2940 speedtest1_prepare(tls, 2941 ts+10407, 0) 2942 iStep = mxCoord / n 2943 for i = uint32(0); i < n; i++ { 2944 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2945 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep)) 2946 speedtest1_run(tls) 2947 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2948 } 2949 speedtest1_end_test(tls) 2950 2951 n = uint32(g.szTest * 500) 2952 speedtest1_begin_test(tls, 140, ts+10500, libc.VaList(bp+160, n)) 2953 speedtest1_prepare(tls, ts+10517, 0) 2954 for i = uint32(1); i <= n; i++ { 2955 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) 2956 speedtest1_run(tls) 2957 } 2958 speedtest1_end_test(tls) 2959 2960 n = uint32(g.szTest * 50) 2961 speedtest1_begin_test(tls, 150, ts+10547, libc.VaList(bp+168, n)) 2962 speedtest1_prepare(tls, ts+10570, 0) 2963 for i = uint32(1); i <= n; i++ { 2964 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1))) 2965 speedtest1_run(tls) 2966 } 2967 speedtest1_end_test(tls) 2968 2969 n = uint32(g.szTest * 5) 2970 speedtest1_begin_test(tls, 155, ts+10618, libc.VaList(bp+176, n)) 2971 speedtest1_prepare(tls, 2972 ts+10659, 0) 2973 iStep = mxCoord / n 2974 for i = uint32(0); i < n; i++ { 2975 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2976 speedtest1_run(tls) 2977 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2978 } 2979 speedtest1_end_test(tls) 2980 2981 n = uint32(g.szTest * 50) 2982 speedtest1_begin_test(tls, 160, ts+10721, libc.VaList(bp+184, n)) 2983 speedtest1_prepare(tls, ts+10744, 0) 2984 for i = uint32(1); i <= n; i++ { 2985 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1))) 2986 speedtest1_run(tls) 2987 } 2988 speedtest1_end_test(tls) 2989 2990 n = uint32(g.szTest * 5) 2991 speedtest1_begin_test(tls, 165, ts+10772, libc.VaList(bp+192, n)) 2992 speedtest1_prepare(tls, ts+10813, 0) 2993 iStep = mxCoord / n 2994 for i = uint32(0); i < n; i++ { 2995 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep)) 2996 speedtest1_run(tls) 2997 *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) 2998 } 2999 speedtest1_end_test(tls) 3000 3001 speedtest1_begin_test(tls, 170, ts+10855, 0) 3002 speedtest1_exec(tls, ts+10902, 0) 3003 speedtest1_end_test(tls) 3004 } 3005 3006 func testset_orm(tls *libc.TLS) { 3007 bp := tls.Alloc(2016) 3008 defer tls.Free(2016) 3009 3010 var i uint32 3011 var j uint32 3012 var n uint32 3013 var nRow uint32 3014 var x1 uint32 3015 var len uint32 3016 3017 nRow = libc.AssignUint32(&n, uint32(g.szTest*250)) 3018 speedtest1_begin_test(tls, 100, ts+10945, libc.VaList(bp, n)) 3019 speedtest1_exec(tls, 3020 ts+10958, 0) 3021 speedtest1_prepare(tls, 3022 ts+14858, 0) 3023 for i = uint32(0); i < n; i++ { 3024 x1 = speedtest1_random(tls) 3025 speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]uint8{}))) 3026 len = uint32(int32(libc.Xstrlen(tls, bp+16))) 3027 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf))) 3028 for j = uint32(0); zType[j] != 0; j++ { 3029 switch int32(zType[j]) { 3030 case 'I': 3031 fallthrough 3032 case 'T': 3033 sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1)) 3034 break 3035 case 'F': 3036 sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1)) 3037 break 3038 case 'V': 3039 fallthrough 3040 case 'B': 3041 sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len), 3042 uintptr(0), uint8(SQLITE_UTF8)) 3043 break 3044 } 3045 } 3046 speedtest1_run(tls) 3047 } 3048 speedtest1_exec(tls, ts+3990, 0) 3049 speedtest1_end_test(tls) 3050 3051 n = uint32(g.szTest * 250) 3052 speedtest1_begin_test(tls, 110, ts+18102, libc.VaList(bp+8, n)) 3053 speedtest1_prepare(tls, 3054 ts+18125, 0) 3055 for i = uint32(0); i < n; i++ { 3056 x1 = speedtest1_random(tls) % nRow 3057 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) 3058 speedtest1_run(tls) 3059 } 3060 speedtest1_end_test(tls) 3061 } 3062 3063 var zType = *(*[120]uint8)(unsafe.Pointer(ts + 20878)) 3064 3065 func testset_trigger(tls *libc.TLS) { 3066 bp := tls.Alloc(2032) 3067 defer tls.Free(2032) 3068 3069 var jj int32 3070 var ii int32 3071 3072 var NROW int32 = 500 * g.szTest 3073 var NROW2 int32 = 100 * g.szTest 3074 3075 speedtest1_exec(tls, 3076 ts+20998, 0) 3077 for jj = 1; jj <= 3; jj++ { 3078 speedtest1_prepare(tls, ts+21326, libc.VaList(bp, jj)) 3079 for ii = 0; ii < NROW; ii++ { 3080 var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW)) 3081 speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3082 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1) 3083 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3084 speedtest1_run(tls) 3085 } 3086 } 3087 speedtest1_exec(tls, 3088 ts+21361, 0) 3089 3090 speedtest1_begin_test(tls, 100, ts+21444, 0) 3091 speedtest1_prepare(tls, 3092 ts+21458, 0) 3093 speedtest1_run(tls) 3094 speedtest1_end_test(tls) 3095 3096 speedtest1_begin_test(tls, 110, ts+21525, 0) 3097 speedtest1_prepare(tls, 3098 ts+21539, 0) 3099 speedtest1_run(tls) 3100 speedtest1_end_test(tls) 3101 3102 speedtest1_begin_test(tls, 120, ts+21598, 0) 3103 for jj = 1; jj <= 3; jj++ { 3104 speedtest1_prepare(tls, ts+21612, libc.VaList(bp+8, jj)) 3105 for ii = 0; ii < NROW2; ii = ii + 3 { 3106 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3107 speedtest1_run(tls) 3108 } 3109 } 3110 speedtest1_end_test(tls) 3111 3112 speedtest1_begin_test(tls, 130, ts+21646, 0) 3113 for jj = 1; jj <= 3; jj++ { 3114 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+16, jj)) 3115 for ii = 0; ii < NROW2; ii = ii + 3 { 3116 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3117 speedtest1_run(tls) 3118 } 3119 } 3120 speedtest1_end_test(tls) 3121 3122 speedtest1_begin_test(tls, 140, ts+21646, 0) 3123 for jj = 1; jj <= 3; jj++ { 3124 speedtest1_prepare(tls, ts+21661, libc.VaList(bp+24, jj)) 3125 for ii = 0; ii < NROW2; ii = ii + 3 { 3126 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3) 3127 speedtest1_run(tls) 3128 } 3129 } 3130 speedtest1_end_test(tls) 3131 3132 speedtest1_begin_test(tls, 150, ts+21695, 0) 3133 speedtest1_prepare(tls, 3134 ts+21714, 0) 3135 for jj = 0; jj < NROW2; jj++ { 3136 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3) 3137 speedtest1_run(tls) 3138 } 3139 speedtest1_end_test(tls) 3140 3141 speedtest1_begin_test(tls, 160, ts+21829, 0) 3142 speedtest1_exec(tls, ts+2913, 0) 3143 speedtest1_prepare(tls, ts+21850, 0) 3144 for jj = 0; jj < NROW2; jj++ { 3145 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3146 speedtest1_run(tls) 3147 } 3148 speedtest1_exec(tls, ts+3023, 0) 3149 speedtest1_end_test(tls) 3150 3151 speedtest1_exec(tls, ts+21885, 0) 3152 speedtest1_begin_test(tls, 170, ts+21933, 0) 3153 speedtest1_exec(tls, ts+21955, 0) 3154 speedtest1_end_test(tls) 3155 3156 speedtest1_exec(tls, 3157 ts+22000, 0) 3158 3159 speedtest1_begin_test(tls, 180, ts+22490, 0) 3160 speedtest1_prepare(tls, ts+22507, 0) 3161 for jj = 0; jj < NROW2; jj++ { 3162 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3163 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3164 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3165 speedtest1_run(tls) 3166 } 3167 speedtest1_end_test(tls) 3168 3169 speedtest1_begin_test(tls, 190, ts+22543, 0) 3170 speedtest1_prepare(tls, ts+22560, 0) 3171 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3172 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3173 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3174 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3175 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 3176 speedtest1_run(tls) 3177 } 3178 speedtest1_end_test(tls) 3179 3180 speedtest1_begin_test(tls, 200, ts+22606, 0) 3181 speedtest1_prepare(tls, ts+22623, 0) 3182 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3183 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3184 speedtest1_run(tls) 3185 } 3186 speedtest1_end_test(tls) 3187 speedtest1_exec(tls, ts+3023, 0) 3188 3189 speedtest1_exec(tls, 3190 ts+22655, 0) 3191 speedtest1_begin_test(tls, 210, ts+22760, 0) 3192 speedtest1_prepare(tls, ts+22507, 0) 3193 for jj = 0; jj < NROW2; jj++ { 3194 speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3195 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) 3196 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3197 speedtest1_run(tls) 3198 } 3199 speedtest1_end_test(tls) 3200 speedtest1_begin_test(tls, 210, ts+22779, 0) 3201 speedtest1_prepare(tls, ts+22560, 0) 3202 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3203 speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3204 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3205 sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0)) 3206 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) 3207 speedtest1_run(tls) 3208 } 3209 speedtest1_end_test(tls) 3210 speedtest1_begin_test(tls, 220, ts+22798, 0) 3211 speedtest1_prepare(tls, ts+22623, 0) 3212 for jj = 1; jj <= NROW2*2; jj = jj + 2 { 3213 sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2) 3214 speedtest1_run(tls) 3215 } 3216 speedtest1_end_test(tls) 3217 speedtest1_exec(tls, ts+3023, 0) 3218 } 3219 3220 func testset_debug1(tls *libc.TLS) { 3221 bp := tls.Alloc(2032) 3222 defer tls.Free(2032) 3223 3224 var i uint32 3225 var n uint32 3226 var x1 uint32 3227 var x2 uint32 3228 3229 n = uint32(g.szTest) 3230 for i = uint32(1); i <= n; i++ { 3231 x1 = swizzle(tls, i, n) 3232 x2 = swizzle(tls, x1, n) 3233 speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]uint8{}))) 3234 libc.Xprintf(tls, ts+22817, libc.VaList(bp, i, x1, x2, bp+32)) 3235 } 3236 } 3237 3238 func displayLinuxIoStats(tls *libc.TLS, out uintptr) { 3239 bp := tls.Alloc(224) 3240 defer tls.Free(224) 3241 3242 var in uintptr 3243 3244 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]uint8{})), bp+24, ts+22833, libc.VaList(bp, libc.Xgetpid(tls))) 3245 in = libc.Xfopen(tls, bp+24, ts+22845) 3246 if in == uintptr(0) { 3247 return 3248 } 3249 for libc.Xfgets(tls, bp+24, int32(unsafe.Sizeof([200]uint8{})), in) != uintptr(0) { 3250 var i int32 3251 for i = 0; uint64(i) < uint64(unsafe.Sizeof(aTrans))/uint64(unsafe.Sizeof(struct { 3252 zPattern uintptr 3253 zDesc uintptr 3254 }{})); i++ { 3255 var n int32 = int32(libc.Xstrlen(tls, aTrans[i].zPattern)) 3256 if libc.Xstrncmp(tls, aTrans[i].zPattern, bp+24, uint64(n)) == 0 { 3257 libc.Xfprintf(tls, out, ts+22848, libc.VaList(bp+8, aTrans[i].zDesc, bp+24+uintptr(n))) 3258 break 3259 } 3260 } 3261 } 3262 libc.Xfclose(tls, in) 3263 } 3264 3265 var aTrans = [7]struct { 3266 zPattern uintptr 3267 zDesc uintptr 3268 }{ 3269 {zPattern: ts + 22860, zDesc: ts + 22868}, 3270 {zPattern: ts + 22894, zDesc: ts + 22902}, 3271 {zPattern: ts + 22925, zDesc: ts + 22933}, 3272 {zPattern: ts + 22954, zDesc: ts + 22962}, 3273 {zPattern: ts + 22984, zDesc: ts + 22997}, 3274 {zPattern: ts + 23022, zDesc: ts + 23036}, 3275 {zPattern: ts + 23059, zDesc: ts + 23083}, 3276 } 3277 3278 func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 { 3279 bp := tls.Alloc(8) 3280 defer tls.Free(8) 3281 3282 libc.Xprintf(tls, ts+23106, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal)))) 3283 return SQLITE_OK 3284 } 3285 3286 func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { 3287 bp := tls.Alloc(576) 3288 defer tls.Free(576) 3289 3290 var doAutovac int32 = 0 3291 var cacheSize int32 = 0 3292 var doExclusive int32 = 0 3293 var nHeap int32 = 0 3294 var mnHeap int32 = 0 3295 var doIncrvac int32 = 0 3296 var zJMode uintptr = uintptr(0) 3297 var zKey uintptr = uintptr(0) 3298 var nLook int32 = -1 3299 var szLook int32 = 0 3300 var noSync int32 = 0 3301 var pageSize int32 = 0 3302 var nPCache int32 = 0 3303 var szPCache int32 = 0 3304 var doPCache int32 = 0 3305 var showStats int32 = 0 3306 var nThread int32 = 0 3307 var mmapSize int32 = 0 3308 var memDb int32 = 0 3309 var zTSet uintptr = ts + 23129 3310 var doTrace int32 = 0 3311 var zEncoding uintptr = uintptr(0) 3312 var zDbName uintptr = uintptr(0) 3313 3314 var pHeap uintptr = uintptr(0) 3315 var pLook uintptr = uintptr(0) 3316 var pPCache uintptr = uintptr(0) 3317 3318 var i int32 3319 var rc int32 3320 3321 libc.Xprintf(tls, ts+23134, 3322 libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls))) 3323 3324 g.zWR = ts + 2269 3325 g.zNN = ts + 2269 3326 g.zPK = ts + 23169 3327 g.szTest = 100 3328 g.nRepeat = 1 3329 for i = 1; i < argc; i++ { 3330 var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) 3331 if int32(*(*uint8)(unsafe.Pointer(z))) == '-' { 3332 for __ccgo := true; __ccgo; __ccgo = int32(*(*uint8)(unsafe.Pointer(z))) == '-' { 3333 z++ 3334 } 3335 if libc.Xstrcmp(tls, z, ts+23176) == 0 { 3336 doAutovac = 1 3337 } else if libc.Xstrcmp(tls, z, ts+23187) == 0 { 3338 if i >= argc-1 { 3339 fatal_error(tls, ts+23197, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3340 } 3341 i++ 3342 cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) 3343 } else if libc.Xstrcmp(tls, z, ts+23221) == 0 { 3344 doExclusive = 1 3345 } else if libc.Xstrcmp(tls, z, ts+23231) == 0 { 3346 g.doCheckpoint = 1 3347 } else if libc.Xstrcmp(tls, z, ts+23242) == 0 { 3348 g.bSqlOnly = 1 3349 g.bExplain = 1 3350 } else if libc.Xstrcmp(tls, z, ts+23250) == 0 { 3351 if i >= argc-2 { 3352 fatal_error(tls, ts+23255, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3353 } 3354 nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 3355 mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8))) 3356 i = i + 2 3357 } else if libc.Xstrcmp(tls, z, ts+23280) == 0 { 3358 doIncrvac = 1 3359 } else if libc.Xstrcmp(tls, z, ts+23291) == 0 { 3360 if i >= argc-1 { 3361 fatal_error(tls, ts+23197, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3362 } 3363 zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) 3364 } else if libc.Xstrcmp(tls, z, ts+23299) == 0 { 3365 if i >= argc-1 { 3366 fatal_error(tls, ts+23197, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3367 } 3368 zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) 3369 } else if libc.Xstrcmp(tls, z, ts+23303) == 0 { 3370 if i >= argc-2 { 3371 fatal_error(tls, ts+23255, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3372 } 3373 nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 3374 szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8))) 3375 i = i + 2 3376 } else if libc.Xstrcmp(tls, z, ts+23313) == 0 { 3377 memDb = 1 3378 } else if libc.Xstrcmp(tls, z, ts+23319) == 0 { 3379 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0) 3380 } else if libc.Xstrcmp(tls, z, ts+23331) == 0 { 3381 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0)) 3382 } else if libc.Xstrcmp(tls, z, ts+23341) == 0 { 3383 if i >= argc-1 { 3384 fatal_error(tls, ts+23197, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3385 } 3386 mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3387 } else if libc.Xstrcmp(tls, z, ts+23346) == 0 { 3388 noSync = 1 3389 } else if libc.Xstrcmp(tls, z, ts+23353) == 0 { 3390 g.zNN = ts + 23361 3391 } else if libc.Xstrcmp(tls, z, ts+23370) == 0 { 3392 if i >= argc-1 { 3393 fatal_error(tls, ts+23197, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3394 } 3395 i++ 3396 if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23377) == 0 { 3397 g.hashFile = libc.Xstdout 3398 } else { 3399 g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23379) 3400 if g.hashFile == uintptr(0) { 3401 fatal_error(tls, ts+23382, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3402 } 3403 } 3404 } else if libc.Xstrcmp(tls, z, ts+23412) == 0 { 3405 if i >= argc-1 { 3406 fatal_error(tls, ts+23197, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3407 } 3408 pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3409 } else if libc.Xstrcmp(tls, z, ts+23421) == 0 { 3410 if i >= argc-2 { 3411 fatal_error(tls, ts+23255, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3412 } 3413 nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 3414 szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8))) 3415 doPCache = 1 3416 i = i + 2 3417 } else if libc.Xstrcmp(tls, z, ts+23428) == 0 { 3418 g.zPK = ts + 23439 3419 } else if libc.Xstrcmp(tls, z, ts+23451) == 0 { 3420 if i >= argc-1 { 3421 fatal_error(tls, ts+23255, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3422 } 3423 g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8))) 3424 i = i + 1 3425 } else if libc.Xstrcmp(tls, z, ts+23458) == 0 { 3426 g.bReprepare = 1 3427 } else if libc.Xstrcmp(tls, z, ts+23468) == 0 { 3428 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0) 3429 } else if libc.Xstrcmp(tls, z, ts+23479) == 0 { 3430 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0) 3431 } else if libc.Xstrcmp(tls, z, ts+23492) == 0 { 3432 g.bSqlOnly = 1 3433 } else if libc.Xstrcmp(tls, z, ts+23500) == 0 { 3434 g.bMemShrink = 1 3435 } else if libc.Xstrcmp(tls, z, ts+23514) == 0 { 3436 if i >= argc-1 { 3437 fatal_error(tls, ts+23197, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3438 } 3439 g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3440 } else if libc.Xstrcmp(tls, z, ts+23519) == 0 { 3441 showStats = 1 3442 } else if libc.Xstrcmp(tls, z, ts+23525) == 0 { 3443 if i >= argc-1 { 3444 fatal_error(tls, ts+23197, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3445 } 3446 i++ 3447 if int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) < '0' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) > '9' || int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) + 1))) != 0 { 3448 fatal_error(tls, ts+23530, 0) 3449 } 3450 g.eTemp = int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) - '0' 3451 } else if libc.Xstrcmp(tls, z, ts+23583) == 0 { 3452 if i >= argc-1 { 3453 fatal_error(tls, ts+23197, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3454 } 3455 zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) 3456 } else if libc.Xstrcmp(tls, z, ts+23591) == 0 { 3457 doTrace = 1 3458 } else if libc.Xstrcmp(tls, z, ts+23597) == 0 { 3459 if i >= argc-1 { 3460 fatal_error(tls, ts+23197, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3461 } 3462 nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3463 } else if libc.Xstrcmp(tls, z, ts+23605) == 0 { 3464 zEncoding = ts + 23605 3465 } else if libc.Xstrcmp(tls, z, ts+23613) == 0 { 3466 zEncoding = ts + 23613 3467 } else if libc.Xstrcmp(tls, z, ts+23621) == 0 { 3468 g.bVerify = 1 3469 HashInit(tls) 3470 } else if libc.Xstrcmp(tls, z, ts+23628) == 0 { 3471 if i >= argc-1 { 3472 fatal_error(tls, ts+23197, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3473 } 3474 g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) 3475 } else if libc.Xstrcmp(tls, z, ts+23636) == 0 { 3476 if libc.Xstrstr(tls, g.zWR, ts+23650) != uintptr(0) { 3477 } else if libc.Xstrstr(tls, g.zWR, ts+23658) != uintptr(0) { 3478 g.zWR = ts + 23665 3479 } else { 3480 g.zWR = ts + 6036 3481 } 3482 g.zPK = ts + 23439 3483 } else if libc.Xstrcmp(tls, z, ts+23686) == 0 { 3484 if libc.Xstrstr(tls, g.zWR, ts+23658) != uintptr(0) { 3485 } else if libc.Xstrstr(tls, g.zWR, ts+23650) != uintptr(0) { 3486 g.zWR = ts + 23665 3487 } else { 3488 g.zWR = ts + 23658 3489 } 3490 } else if libc.Xstrcmp(tls, z, ts+23693) == 0 || libc.Xstrcmp(tls, z, ts+23698) == 0 { 3491 libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv)))) 3492 libc.Xexit(tls, 0) 3493 } else { 3494 fatal_error(tls, ts+23700, 3495 libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) 3496 } 3497 } else if zDbName == uintptr(0) { 3498 zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) 3499 } else { 3500 fatal_error(tls, ts+23741, 3501 libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) 3502 } 3503 } 3504 if zDbName != uintptr(0) { 3505 libc.Xunlink(tls, zDbName) 3506 } 3507 if nHeap > 0 { 3508 pHeap = libc.Xmalloc(tls, uint64(nHeap)) 3509 if pHeap == uintptr(0) { 3510 fatal_error(tls, ts+23784, libc.VaList(bp+192, nHeap)) 3511 } 3512 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap)) 3513 if rc != 0 { 3514 fatal_error(tls, ts+23814, libc.VaList(bp+224, rc)) 3515 } 3516 } 3517 if doPCache != 0 { 3518 if nPCache > 0 && szPCache > 0 { 3519 pPCache = libc.Xmalloc(tls, uint64(sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3520 if pPCache == uintptr(0) { 3521 fatal_error(tls, ts+23845, 3522 libc.VaList(bp+232, sqlite3_int64(nPCache)*sqlite3_int64(szPCache))) 3523 } 3524 } 3525 rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache)) 3526 if rc != 0 { 3527 fatal_error(tls, ts+23879, libc.VaList(bp+264, rc)) 3528 } 3529 } 3530 if nLook >= 0 { 3531 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0)) 3532 } 3533 sqlite3.Xsqlite3_initialize(tls) 3534 3535 if sqlite3.Xsqlite3_open(tls, func() uintptr { 3536 if memDb != 0 { 3537 return ts + 23912 3538 } 3539 return zDbName 3540 }(), uintptr(unsafe.Pointer(&g))) != 0 { 3541 fatal_error(tls, ts+23921, libc.VaList(bp+288, zDbName)) 3542 } 3543 if nLook > 0 && szLook > 0 { 3544 pLook = libc.Xmalloc(tls, uint64(nLook*szLook)) 3545 rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook)) 3546 if rc != 0 { 3547 fatal_error(tls, ts+23952, libc.VaList(bp+320, rc)) 3548 } 3549 } 3550 if g.nReserve > 0 { 3551 sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+72) 3552 } 3553 3554 sqlite3.Xsqlite3_create_function(tls, g.db, ts+23988, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { 3555 f func(*libc.TLS, uintptr, int32, uintptr) 3556 }{randomFunc})), uintptr(0), uintptr(0)) 3557 if doTrace != 0 { 3558 sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3559 f func(*libc.TLS, uintptr, uintptr) 3560 }{traceCallback})), uintptr(0)) 3561 } 3562 if memDb > 0 { 3563 speedtest1_exec(tls, ts+23995, 0) 3564 } 3565 if mmapSize > 0 { 3566 speedtest1_exec(tls, ts+24020, libc.VaList(bp+328, mmapSize)) 3567 } 3568 speedtest1_exec(tls, ts+24040, libc.VaList(bp+336, nThread)) 3569 if zKey != 0 { 3570 speedtest1_exec(tls, ts+24058, libc.VaList(bp+344, zKey)) 3571 } 3572 if zEncoding != 0 { 3573 speedtest1_exec(tls, ts+24075, libc.VaList(bp+352, zEncoding)) 3574 } 3575 if doAutovac != 0 { 3576 speedtest1_exec(tls, ts+24094, 0) 3577 } else if doIncrvac != 0 { 3578 speedtest1_exec(tls, ts+24118, 0) 3579 } 3580 if pageSize != 0 { 3581 speedtest1_exec(tls, ts+24149, libc.VaList(bp+360, pageSize)) 3582 } 3583 if cacheSize != 0 { 3584 speedtest1_exec(tls, ts+24169, libc.VaList(bp+368, cacheSize)) 3585 } 3586 if noSync != 0 { 3587 speedtest1_exec(tls, ts+24190, 0) 3588 } 3589 if doExclusive != 0 { 3590 speedtest1_exec(tls, ts+24213, 0) 3591 } 3592 if zJMode != 0 { 3593 speedtest1_exec(tls, ts+24243, libc.VaList(bp+376, zJMode)) 3594 } 3595 3596 if g.bExplain != 0 { 3597 libc.Xprintf(tls, ts+24266, 0) 3598 } 3599 for __ccgo1 := true; __ccgo1; __ccgo1 = *(*uint8)(unsafe.Pointer(zTSet)) != 0 { 3600 var zThisTest uintptr = zTSet 3601 var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',') 3602 if zComma != 0 { 3603 *(*uint8)(unsafe.Pointer(zComma)) = uint8(0) 3604 zTSet = zComma + uintptr(1) 3605 } else { 3606 zTSet = ts + 2269 3607 } 3608 if g.iTotal > int64(0) || zComma != uintptr(0) { 3609 libc.Xprintf(tls, ts+24285, libc.VaList(bp+384, zThisTest)) 3610 } 3611 if libc.Xstrcmp(tls, zThisTest, ts+23129) == 0 { 3612 testset_main(tls) 3613 } else if libc.Xstrcmp(tls, zThisTest, ts+24312) == 0 { 3614 testset_debug1(tls) 3615 } else if libc.Xstrcmp(tls, zThisTest, ts+24319) == 0 { 3616 testset_orm(tls) 3617 } else if libc.Xstrcmp(tls, zThisTest, ts+24323) == 0 { 3618 testset_cte(tls) 3619 } else if libc.Xstrcmp(tls, zThisTest, ts+24327) == 0 { 3620 testset_fp(tls) 3621 } else if libc.Xstrcmp(tls, zThisTest, ts+24330) == 0 { 3622 testset_trigger(tls) 3623 } else if libc.Xstrcmp(tls, zThisTest, ts+24338) == 0 { 3624 testset_rtree(tls, 6, 147) 3625 } else { 3626 fatal_error(tls, 3627 ts+24344, 3628 libc.VaList(bp+392, zThisTest)) 3629 } 3630 if *(*uint8)(unsafe.Pointer(zTSet)) != 0 { 3631 var zSql uintptr 3632 var zObj uintptr 3633 speedtest1_begin_test(tls, 999, ts+24413, 0) 3634 for 1 != 0 { 3635 zObj = speedtest1_once(tls, 3636 ts+24432, 0) 3637 if zObj == uintptr(0) { 3638 break 3639 } 3640 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24502, libc.VaList(bp+400, zObj)) 3641 speedtest1_exec(tls, zSql, 0) 3642 sqlite3.Xsqlite3_free(tls, zSql) 3643 sqlite3.Xsqlite3_free(tls, zObj) 3644 } 3645 for 1 != 0 { 3646 zObj = speedtest1_once(tls, 3647 ts+24523, 0) 3648 if zObj == uintptr(0) { 3649 break 3650 } 3651 zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24502, libc.VaList(bp+408, zObj)) 3652 speedtest1_exec(tls, zSql, 0) 3653 sqlite3.Xsqlite3_free(tls, zSql) 3654 sqlite3.Xsqlite3_free(tls, zObj) 3655 } 3656 speedtest1_end_test(tls) 3657 } 3658 } 3659 speedtest1_final(tls) 3660 3661 if showStats != 0 { 3662 sqlite3.Xsqlite3_exec(tls, g.db, ts+24593, *(*uintptr)(unsafe.Pointer(&struct { 3663 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 3664 }{xCompileOptions})), uintptr(0), uintptr(0)) 3665 } 3666 3667 if showStats != 0 { 3668 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568, bp+572, 0) 3669 libc.Xprintf(tls, ts+24616, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3670 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568, bp+572, 0) 3671 libc.Xprintf(tls, ts+24661, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572)))) 3672 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568, bp+572, 0) 3673 libc.Xprintf(tls, ts+24697, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572)))) 3674 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568, bp+572, 0) 3675 libc.Xprintf(tls, ts+24733, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572)))) 3676 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568, bp+572, 0) 3677 libc.Xprintf(tls, ts+24769, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568)))) 3678 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568, bp+572, 1) 3679 libc.Xprintf(tls, ts+24811, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568)))) 3680 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568, bp+572, 1) 3681 libc.Xprintf(tls, ts+24847, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568)))) 3682 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568, bp+572, 1) 3683 libc.Xprintf(tls, ts+24883, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568)))) 3684 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568, bp+572, 0) 3685 libc.Xprintf(tls, ts+24919, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568)))) 3686 sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568, bp+572, 0) 3687 libc.Xprintf(tls, ts+24961, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568)))) 3688 } 3689 3690 sqlite3.Xsqlite3_close(tls, g.db) 3691 3692 if showStats != 0 { 3693 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568, bp+572, 0) 3694 libc.Xprintf(tls, ts+25003, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3695 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568, bp+572, 0) 3696 libc.Xprintf(tls, ts+25048, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3697 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568, bp+572, 0) 3698 libc.Xprintf(tls, ts+25093, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568)), *(*int32)(unsafe.Pointer(bp + 572)))) 3699 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568, bp+572, 0) 3700 libc.Xprintf(tls, ts+25138, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572)))) 3701 sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568, bp+572, 0) 3702 libc.Xprintf(tls, ts+25180, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572)))) 3703 } 3704 3705 if showStats != 0 { 3706 displayLinuxIoStats(tls, libc.Xstdout) 3707 } 3708 3709 libc.Xfree(tls, pLook) 3710 libc.Xfree(tls, pPCache) 3711 libc.Xfree(tls, pHeap) 3712 return 0 3713 } 3714 3715 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/proc/%d/io\x00rb\x00-- %-28s %s\x00rchar: \x00Bytes received by read():\x00wchar: \x00Bytes sent to write():\x00syscr: \x00Read() system calls:\x00syscw: \x00Write() system calls:\x00read_bytes: \x00Bytes rcvd from storage:\x00write_bytes: \x00Bytes sent to storage:\x00cancelled_write_bytes: \x00Cancelled write bytes:\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" 3716 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data