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