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