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