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