gitlab.com/CoiaPrant/sqlite3@v1.19.1/internal/mptest/main_linux_arm64.go (about) 1 // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o internal/mptest/main_linux_arm64.go -trace-translation-units testdata/mptest.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 DEFAULT_TIMEOUT = 1000000 30 E2BIG = 7 31 EACCES = 13 32 EADDRINUSE = 98 33 EADDRNOTAVAIL = 99 34 EADV = 68 35 EAFNOSUPPORT = 97 36 EAGAIN = 11 37 EALREADY = 114 38 EBADE = 52 39 EBADF = 9 40 EBADFD = 77 41 EBADMSG = 74 42 EBADR = 53 43 EBADRQC = 56 44 EBADSLT = 57 45 EBFONT = 59 46 EBUSY = 16 47 ECANCELED = 125 48 ECHILD = 10 49 ECHRNG = 44 50 ECOMM = 70 51 ECONNABORTED = 103 52 ECONNREFUSED = 111 53 ECONNRESET = 104 54 EDEADLK = 35 55 EDEADLOCK = 35 56 EDESTADDRREQ = 89 57 EDOM = 33 58 EDOTDOT = 73 59 EDQUOT = 122 60 EEXIST = 17 61 EFAULT = 14 62 EFBIG = 27 63 EHOSTDOWN = 112 64 EHOSTUNREACH = 113 65 EHWPOISON = 133 66 EIDRM = 43 67 EILSEQ = 84 68 EINPROGRESS = 115 69 EINTR = 4 70 EINVAL = 22 71 EIO = 5 72 EISCONN = 106 73 EISDIR = 21 74 EISNAM = 120 75 EKEYEXPIRED = 127 76 EKEYREJECTED = 129 77 EKEYREVOKED = 128 78 EL2HLT = 51 79 EL2NSYNC = 45 80 EL3HLT = 46 81 EL3RST = 47 82 ELIBACC = 79 83 ELIBBAD = 80 84 ELIBEXEC = 83 85 ELIBMAX = 82 86 ELIBSCN = 81 87 ELNRNG = 48 88 ELOOP = 40 89 EMEDIUMTYPE = 124 90 EMFILE = 24 91 EMLINK = 31 92 EMSGSIZE = 90 93 EMULTIHOP = 72 94 ENAMETOOLONG = 36 95 ENAVAIL = 119 96 ENETDOWN = 100 97 ENETRESET = 102 98 ENETUNREACH = 101 99 ENFILE = 23 100 ENOANO = 55 101 ENOBUFS = 105 102 ENOCSI = 50 103 ENODATA = 61 104 ENODEV = 19 105 ENOENT = 2 106 ENOEXEC = 8 107 ENOKEY = 126 108 ENOLCK = 37 109 ENOLINK = 67 110 ENOMEDIUM = 123 111 ENOMEM = 12 112 ENOMSG = 42 113 ENONET = 64 114 ENOPKG = 65 115 ENOPROTOOPT = 92 116 ENOSPC = 28 117 ENOSR = 63 118 ENOSTR = 60 119 ENOSYS = 38 120 ENOTBLK = 15 121 ENOTCONN = 107 122 ENOTDIR = 20 123 ENOTEMPTY = 39 124 ENOTNAM = 118 125 ENOTRECOVERABLE = 131 126 ENOTSOCK = 88 127 ENOTSUP = 95 128 ENOTTY = 25 129 ENOTUNIQ = 76 130 ENXIO = 6 131 EOF = -1 132 EOPNOTSUPP = 95 133 EOVERFLOW = 75 134 EOWNERDEAD = 130 135 EPERM = 1 136 EPFNOSUPPORT = 96 137 EPIPE = 32 138 EPROTO = 71 139 EPROTONOSUPPORT = 93 140 EPROTOTYPE = 91 141 ERANGE = 34 142 EREMCHG = 78 143 EREMOTE = 66 144 EREMOTEIO = 121 145 ERESTART = 85 146 ERFKILL = 132 147 EROFS = 30 148 ESHUTDOWN = 108 149 ESOCKTNOSUPPORT = 94 150 ESPIPE = 29 151 ESRCH = 3 152 ESRMNT = 69 153 ESTALE = 116 154 ESTRPIPE = 86 155 ETIME = 62 156 ETIMEDOUT = 110 157 ETOOMANYREFS = 109 158 ETXTBSY = 26 159 EUCLEAN = 117 160 EUNATCH = 49 161 EUSERS = 87 162 EWOULDBLOCK = 11 163 EXDEV = 18 164 EXFULL = 54 165 EXIT_FAILURE = 1 166 EXIT_SUCCESS = 0 167 FD_SETSIZE = 1024 168 FILENAME_MAX = 4096 169 FOPEN_MAX = 16 170 FTS5_TOKENIZE_AUX = 0x0008 171 FTS5_TOKENIZE_DOCUMENT = 0x0004 172 FTS5_TOKENIZE_PREFIX = 0x0002 173 FTS5_TOKENIZE_QUERY = 0x0001 174 FTS5_TOKEN_COLOCATED = 0x0001 175 FULLY_WITHIN = 2 176 F_LOCK = 1 177 F_OK = 0 178 F_TEST = 3 179 F_TLOCK = 2 180 F_ULOCK = 0 181 HAVE_USLEEP = 1 182 LITTLE_ENDIAN = 1234 183 L_INCR = 1 184 L_SET = 0 185 L_XTND = 2 186 L_ctermid = 9 187 L_tmpnam = 20 188 MX_ARG = 2 189 NDEBUG = 1 190 NOT_WITHIN = 0 191 PARTLY_WITHIN = 1 192 PDP_ENDIAN = 3412 193 P_tmpdir = "/tmp" 194 RAND_MAX = 2147483647 195 R_OK = 4 196 SEEK_CUR = 1 197 SEEK_END = 2 198 SEEK_SET = 0 199 SQLITE3_H = 0 200 SQLITE3_TEXT = 3 201 SQLITE_ABORT = 4 202 SQLITE_ABORT_ROLLBACK = 516 203 SQLITE_ACCESS_EXISTS = 0 204 SQLITE_ACCESS_READ = 2 205 SQLITE_ACCESS_READWRITE = 1 206 SQLITE_ALTER_TABLE = 26 207 SQLITE_ANALYZE = 28 208 SQLITE_ANY = 5 209 SQLITE_API = 0 210 SQLITE_APICALL = 0 211 SQLITE_ATTACH = 24 212 SQLITE_AUTH = 23 213 SQLITE_AUTH_USER = 279 214 SQLITE_BLOB = 4 215 SQLITE_BUSY = 5 216 SQLITE_BUSY_RECOVERY = 261 217 SQLITE_BUSY_SNAPSHOT = 517 218 SQLITE_BUSY_TIMEOUT = 773 219 SQLITE_CALLBACK = 0 220 SQLITE_CANTOPEN = 14 221 SQLITE_CANTOPEN_CONVPATH = 1038 222 SQLITE_CANTOPEN_DIRTYWAL = 1294 223 SQLITE_CANTOPEN_FULLPATH = 782 224 SQLITE_CANTOPEN_ISDIR = 526 225 SQLITE_CANTOPEN_NOTEMPDIR = 270 226 SQLITE_CANTOPEN_SYMLINK = 1550 227 SQLITE_CDECL = 0 228 SQLITE_CHANGESETAPPLY_INVERT = 0x0002 229 SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 230 SQLITE_CHANGESETSTART_INVERT = 0x0002 231 SQLITE_CHANGESET_ABORT = 2 232 SQLITE_CHANGESET_CONFLICT = 3 233 SQLITE_CHANGESET_CONSTRAINT = 4 234 SQLITE_CHANGESET_DATA = 1 235 SQLITE_CHANGESET_FOREIGN_KEY = 5 236 SQLITE_CHANGESET_NOTFOUND = 2 237 SQLITE_CHANGESET_OMIT = 0 238 SQLITE_CHANGESET_REPLACE = 1 239 SQLITE_CHECKPOINT_FULL = 1 240 SQLITE_CHECKPOINT_PASSIVE = 0 241 SQLITE_CHECKPOINT_RESTART = 2 242 SQLITE_CHECKPOINT_TRUNCATE = 3 243 SQLITE_CONFIG_COVERING_INDEX_SCAN = 20 244 SQLITE_CONFIG_GETMALLOC = 5 245 SQLITE_CONFIG_GETMUTEX = 11 246 SQLITE_CONFIG_GETPCACHE = 15 247 SQLITE_CONFIG_GETPCACHE2 = 19 248 SQLITE_CONFIG_HEAP = 8 249 SQLITE_CONFIG_LOG = 16 250 SQLITE_CONFIG_LOOKASIDE = 13 251 SQLITE_CONFIG_MALLOC = 4 252 SQLITE_CONFIG_MEMDB_MAXSIZE = 29 253 SQLITE_CONFIG_MEMSTATUS = 9 254 SQLITE_CONFIG_MMAP_SIZE = 22 255 SQLITE_CONFIG_MULTITHREAD = 2 256 SQLITE_CONFIG_MUTEX = 10 257 SQLITE_CONFIG_PAGECACHE = 7 258 SQLITE_CONFIG_PCACHE = 14 259 SQLITE_CONFIG_PCACHE2 = 18 260 SQLITE_CONFIG_PCACHE_HDRSZ = 24 261 SQLITE_CONFIG_PMASZ = 25 262 SQLITE_CONFIG_SCRATCH = 6 263 SQLITE_CONFIG_SERIALIZED = 3 264 SQLITE_CONFIG_SINGLETHREAD = 1 265 SQLITE_CONFIG_SMALL_MALLOC = 27 266 SQLITE_CONFIG_SORTERREF_SIZE = 28 267 SQLITE_CONFIG_SQLLOG = 21 268 SQLITE_CONFIG_STMTJRNL_SPILL = 26 269 SQLITE_CONFIG_URI = 17 270 SQLITE_CONFIG_WIN32_HEAPSIZE = 23 271 SQLITE_CONSTRAINT = 19 272 SQLITE_CONSTRAINT_CHECK = 275 273 SQLITE_CONSTRAINT_COMMITHOOK = 531 274 SQLITE_CONSTRAINT_DATATYPE = 3091 275 SQLITE_CONSTRAINT_FOREIGNKEY = 787 276 SQLITE_CONSTRAINT_FUNCTION = 1043 277 SQLITE_CONSTRAINT_NOTNULL = 1299 278 SQLITE_CONSTRAINT_PINNED = 2835 279 SQLITE_CONSTRAINT_PRIMARYKEY = 1555 280 SQLITE_CONSTRAINT_ROWID = 2579 281 SQLITE_CONSTRAINT_TRIGGER = 1811 282 SQLITE_CONSTRAINT_UNIQUE = 2067 283 SQLITE_CONSTRAINT_VTAB = 2323 284 SQLITE_COPY = 0 285 SQLITE_CORE = 1 286 SQLITE_CORRUPT = 11 287 SQLITE_CORRUPT_INDEX = 779 288 SQLITE_CORRUPT_SEQUENCE = 523 289 SQLITE_CORRUPT_VTAB = 267 290 SQLITE_CREATE_INDEX = 1 291 SQLITE_CREATE_TABLE = 2 292 SQLITE_CREATE_TEMP_INDEX = 3 293 SQLITE_CREATE_TEMP_TABLE = 4 294 SQLITE_CREATE_TEMP_TRIGGER = 5 295 SQLITE_CREATE_TEMP_VIEW = 6 296 SQLITE_CREATE_TRIGGER = 7 297 SQLITE_CREATE_VIEW = 8 298 SQLITE_CREATE_VTABLE = 29 299 SQLITE_DBCONFIG_DEFENSIVE = 1010 300 SQLITE_DBCONFIG_DQS_DDL = 1014 301 SQLITE_DBCONFIG_DQS_DML = 1013 302 SQLITE_DBCONFIG_ENABLE_FKEY = 1002 303 SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004 304 SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005 305 SQLITE_DBCONFIG_ENABLE_QPSG = 1007 306 SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 307 SQLITE_DBCONFIG_ENABLE_VIEW = 1015 308 SQLITE_DBCONFIG_LEGACY_ALTER_TABLE = 1012 309 SQLITE_DBCONFIG_LEGACY_FILE_FORMAT = 1016 310 SQLITE_DBCONFIG_LOOKASIDE = 1001 311 SQLITE_DBCONFIG_MAINDBNAME = 1000 312 SQLITE_DBCONFIG_MAX = 1017 313 SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006 314 SQLITE_DBCONFIG_RESET_DATABASE = 1009 315 SQLITE_DBCONFIG_TRIGGER_EQP = 1008 316 SQLITE_DBCONFIG_TRUSTED_SCHEMA = 1017 317 SQLITE_DBCONFIG_WRITABLE_SCHEMA = 1011 318 SQLITE_DBSTATUS_CACHE_HIT = 7 319 SQLITE_DBSTATUS_CACHE_MISS = 8 320 SQLITE_DBSTATUS_CACHE_SPILL = 12 321 SQLITE_DBSTATUS_CACHE_USED = 1 322 SQLITE_DBSTATUS_CACHE_USED_SHARED = 11 323 SQLITE_DBSTATUS_CACHE_WRITE = 9 324 SQLITE_DBSTATUS_DEFERRED_FKS = 10 325 SQLITE_DBSTATUS_LOOKASIDE_HIT = 4 326 SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6 327 SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5 328 SQLITE_DBSTATUS_LOOKASIDE_USED = 0 329 SQLITE_DBSTATUS_MAX = 12 330 SQLITE_DBSTATUS_SCHEMA_USED = 2 331 SQLITE_DBSTATUS_STMT_USED = 3 332 SQLITE_DELETE = 9 333 SQLITE_DENY = 1 334 SQLITE_DEPRECATED = 0 335 SQLITE_DESERIALIZE_FREEONCLOSE = 1 336 SQLITE_DESERIALIZE_READONLY = 4 337 SQLITE_DESERIALIZE_RESIZEABLE = 2 338 SQLITE_DETACH = 25 339 SQLITE_DETERMINISTIC = 0x000000800 340 SQLITE_DIRECTONLY = 0x000080000 341 SQLITE_DONE = 101 342 SQLITE_DROP_INDEX = 10 343 SQLITE_DROP_TABLE = 11 344 SQLITE_DROP_TEMP_INDEX = 12 345 SQLITE_DROP_TEMP_TABLE = 13 346 SQLITE_DROP_TEMP_TRIGGER = 14 347 SQLITE_DROP_TEMP_VIEW = 15 348 SQLITE_DROP_TRIGGER = 16 349 SQLITE_DROP_VIEW = 17 350 SQLITE_DROP_VTABLE = 30 351 SQLITE_EMPTY = 16 352 SQLITE_ENABLE_COLUMN_METADATA = 1 353 SQLITE_ENABLE_FTS5 = 1 354 SQLITE_ENABLE_GEOPOLY = 1 355 SQLITE_ENABLE_MATH_FUNCTIONS = 1 356 SQLITE_ENABLE_MEMORY_MANAGEMENT = 1 357 SQLITE_ENABLE_OFFSET_SQL_FUNC = 1 358 SQLITE_ENABLE_PREUPDATE_HOOK = 1 359 SQLITE_ENABLE_RBU = 1 360 SQLITE_ENABLE_RTREE = 1 361 SQLITE_ENABLE_SESSION = 1 362 SQLITE_ENABLE_SNAPSHOT = 1 363 SQLITE_ENABLE_STAT4 = 1 364 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 365 SQLITE_ERROR = 1 366 SQLITE_ERROR_MISSING_COLLSEQ = 257 367 SQLITE_ERROR_RETRY = 513 368 SQLITE_ERROR_SNAPSHOT = 769 369 SQLITE_EXPERIMENTAL = 0 370 SQLITE_FAIL = 3 371 SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31 372 SQLITE_FCNTL_BUSYHANDLER = 15 373 SQLITE_FCNTL_CHUNK_SIZE = 6 374 SQLITE_FCNTL_CKPT_DONE = 37 375 SQLITE_FCNTL_CKPT_START = 39 376 SQLITE_FCNTL_CKSM_FILE = 41 377 SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32 378 SQLITE_FCNTL_COMMIT_PHASETWO = 22 379 SQLITE_FCNTL_DATA_VERSION = 35 380 SQLITE_FCNTL_EXTERNAL_READER = 40 381 SQLITE_FCNTL_FILE_POINTER = 7 382 SQLITE_FCNTL_GET_LOCKPROXYFILE = 2 383 SQLITE_FCNTL_HAS_MOVED = 20 384 SQLITE_FCNTL_JOURNAL_POINTER = 28 385 SQLITE_FCNTL_LAST_ERRNO = 4 386 SQLITE_FCNTL_LOCKSTATE = 1 387 SQLITE_FCNTL_LOCK_TIMEOUT = 34 388 SQLITE_FCNTL_MMAP_SIZE = 18 389 SQLITE_FCNTL_OVERWRITE = 11 390 SQLITE_FCNTL_PDB = 30 391 SQLITE_FCNTL_PERSIST_WAL = 10 392 SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13 393 SQLITE_FCNTL_PRAGMA = 14 394 SQLITE_FCNTL_RBU = 26 395 SQLITE_FCNTL_RESERVE_BYTES = 38 396 SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33 397 SQLITE_FCNTL_SET_LOCKPROXYFILE = 3 398 SQLITE_FCNTL_SIZE_HINT = 5 399 SQLITE_FCNTL_SIZE_LIMIT = 36 400 SQLITE_FCNTL_SYNC = 21 401 SQLITE_FCNTL_SYNC_OMITTED = 8 402 SQLITE_FCNTL_TEMPFILENAME = 16 403 SQLITE_FCNTL_TRACE = 19 404 SQLITE_FCNTL_VFSNAME = 12 405 SQLITE_FCNTL_VFS_POINTER = 27 406 SQLITE_FCNTL_WAL_BLOCK = 24 407 SQLITE_FCNTL_WIN32_AV_RETRY = 9 408 SQLITE_FCNTL_WIN32_GET_HANDLE = 29 409 SQLITE_FCNTL_WIN32_SET_HANDLE = 23 410 SQLITE_FCNTL_ZIPVFS = 25 411 SQLITE_FLOAT = 2 412 SQLITE_FORMAT = 24 413 SQLITE_FULL = 13 414 SQLITE_FUNCTION = 31 415 SQLITE_GET_LOCKPROXYFILE = 2 416 SQLITE_IGNORE = 2 417 SQLITE_INDEX_CONSTRAINT_EQ = 2 418 SQLITE_INDEX_CONSTRAINT_FUNCTION = 150 419 SQLITE_INDEX_CONSTRAINT_GE = 32 420 SQLITE_INDEX_CONSTRAINT_GLOB = 66 421 SQLITE_INDEX_CONSTRAINT_GT = 4 422 SQLITE_INDEX_CONSTRAINT_IS = 72 423 SQLITE_INDEX_CONSTRAINT_ISNOT = 69 424 SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70 425 SQLITE_INDEX_CONSTRAINT_ISNULL = 71 426 SQLITE_INDEX_CONSTRAINT_LE = 8 427 SQLITE_INDEX_CONSTRAINT_LIKE = 65 428 SQLITE_INDEX_CONSTRAINT_LIMIT = 73 429 SQLITE_INDEX_CONSTRAINT_LT = 16 430 SQLITE_INDEX_CONSTRAINT_MATCH = 64 431 SQLITE_INDEX_CONSTRAINT_NE = 68 432 SQLITE_INDEX_CONSTRAINT_OFFSET = 74 433 SQLITE_INDEX_CONSTRAINT_REGEXP = 67 434 SQLITE_INDEX_SCAN_UNIQUE = 1 435 SQLITE_INNOCUOUS = 0x000200000 436 SQLITE_INSERT = 18 437 SQLITE_INTEGER = 1 438 SQLITE_INTERNAL = 2 439 SQLITE_INTERRUPT = 9 440 SQLITE_IOCAP_ATOMIC = 0x00000001 441 SQLITE_IOCAP_ATOMIC16K = 0x00000040 442 SQLITE_IOCAP_ATOMIC1K = 0x00000004 443 SQLITE_IOCAP_ATOMIC2K = 0x00000008 444 SQLITE_IOCAP_ATOMIC32K = 0x00000080 445 SQLITE_IOCAP_ATOMIC4K = 0x00000010 446 SQLITE_IOCAP_ATOMIC512 = 0x00000002 447 SQLITE_IOCAP_ATOMIC64K = 0x00000100 448 SQLITE_IOCAP_ATOMIC8K = 0x00000020 449 SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000 450 SQLITE_IOCAP_IMMUTABLE = 0x00002000 451 SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000 452 SQLITE_IOCAP_SAFE_APPEND = 0x00000200 453 SQLITE_IOCAP_SEQUENTIAL = 0x00000400 454 SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800 455 SQLITE_IOERR = 10 456 SQLITE_IOERR_ACCESS = 3338 457 SQLITE_IOERR_AUTH = 7178 458 SQLITE_IOERR_BEGIN_ATOMIC = 7434 459 SQLITE_IOERR_BLOCKED = 2826 460 SQLITE_IOERR_CHECKRESERVEDLOCK = 3594 461 SQLITE_IOERR_CLOSE = 4106 462 SQLITE_IOERR_COMMIT_ATOMIC = 7690 463 SQLITE_IOERR_CONVPATH = 6666 464 SQLITE_IOERR_CORRUPTFS = 8458 465 SQLITE_IOERR_DATA = 8202 466 SQLITE_IOERR_DELETE = 2570 467 SQLITE_IOERR_DELETE_NOENT = 5898 468 SQLITE_IOERR_DIR_CLOSE = 4362 469 SQLITE_IOERR_DIR_FSYNC = 1290 470 SQLITE_IOERR_FSTAT = 1802 471 SQLITE_IOERR_FSYNC = 1034 472 SQLITE_IOERR_GETTEMPPATH = 6410 473 SQLITE_IOERR_LOCK = 3850 474 SQLITE_IOERR_MMAP = 6154 475 SQLITE_IOERR_NOMEM = 3082 476 SQLITE_IOERR_RDLOCK = 2314 477 SQLITE_IOERR_READ = 266 478 SQLITE_IOERR_ROLLBACK_ATOMIC = 7946 479 SQLITE_IOERR_SEEK = 5642 480 SQLITE_IOERR_SHMLOCK = 5130 481 SQLITE_IOERR_SHMMAP = 5386 482 SQLITE_IOERR_SHMOPEN = 4618 483 SQLITE_IOERR_SHMSIZE = 4874 484 SQLITE_IOERR_SHORT_READ = 522 485 SQLITE_IOERR_TRUNCATE = 1546 486 SQLITE_IOERR_UNLOCK = 2058 487 SQLITE_IOERR_VNODE = 6922 488 SQLITE_IOERR_WRITE = 778 489 SQLITE_LAST_ERRNO = 4 490 SQLITE_LIKE_DOESNT_MATCH_BLOBS = 1 491 SQLITE_LIMIT_ATTACHED = 7 492 SQLITE_LIMIT_COLUMN = 2 493 SQLITE_LIMIT_COMPOUND_SELECT = 4 494 SQLITE_LIMIT_EXPR_DEPTH = 3 495 SQLITE_LIMIT_FUNCTION_ARG = 6 496 SQLITE_LIMIT_LENGTH = 0 497 SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8 498 SQLITE_LIMIT_SQL_LENGTH = 1 499 SQLITE_LIMIT_TRIGGER_DEPTH = 10 500 SQLITE_LIMIT_VARIABLE_NUMBER = 9 501 SQLITE_LIMIT_VDBE_OP = 5 502 SQLITE_LIMIT_WORKER_THREADS = 11 503 SQLITE_LOCKED = 6 504 SQLITE_LOCKED_SHAREDCACHE = 262 505 SQLITE_LOCKED_VTAB = 518 506 SQLITE_LOCK_EXCLUSIVE = 4 507 SQLITE_LOCK_NONE = 0 508 SQLITE_LOCK_PENDING = 3 509 SQLITE_LOCK_RESERVED = 2 510 SQLITE_LOCK_SHARED = 1 511 SQLITE_MISMATCH = 20 512 SQLITE_MISUSE = 21 513 SQLITE_MUTEX_APPDEF = 1 514 SQLITE_MUTEX_FAST = 0 515 SQLITE_MUTEX_NOOP = 1 516 SQLITE_MUTEX_RECURSIVE = 1 517 SQLITE_MUTEX_STATIC_APP1 = 8 518 SQLITE_MUTEX_STATIC_APP2 = 9 519 SQLITE_MUTEX_STATIC_APP3 = 10 520 SQLITE_MUTEX_STATIC_LRU = 6 521 SQLITE_MUTEX_STATIC_LRU2 = 7 522 SQLITE_MUTEX_STATIC_MAIN = 2 523 SQLITE_MUTEX_STATIC_MASTER = 2 524 SQLITE_MUTEX_STATIC_MEM = 3 525 SQLITE_MUTEX_STATIC_MEM2 = 4 526 SQLITE_MUTEX_STATIC_OPEN = 4 527 SQLITE_MUTEX_STATIC_PMEM = 7 528 SQLITE_MUTEX_STATIC_PRNG = 5 529 SQLITE_MUTEX_STATIC_VFS1 = 11 530 SQLITE_MUTEX_STATIC_VFS2 = 12 531 SQLITE_MUTEX_STATIC_VFS3 = 13 532 SQLITE_NOLFS = 22 533 SQLITE_NOMEM = 7 534 SQLITE_NOTADB = 26 535 SQLITE_NOTFOUND = 12 536 SQLITE_NOTICE = 27 537 SQLITE_NOTICE_RECOVER_ROLLBACK = 539 538 SQLITE_NOTICE_RECOVER_WAL = 283 539 SQLITE_NULL = 5 540 SQLITE_OK = 0 541 SQLITE_OK_LOAD_PERMANENTLY = 256 542 SQLITE_OK_SYMLINK = 512 543 SQLITE_OPEN_AUTOPROXY = 0x00000020 544 SQLITE_OPEN_CREATE = 0x00000004 545 SQLITE_OPEN_DELETEONCLOSE = 0x00000008 546 SQLITE_OPEN_EXCLUSIVE = 0x00000010 547 SQLITE_OPEN_EXRESCODE = 0x02000000 548 SQLITE_OPEN_FULLMUTEX = 0x00010000 549 SQLITE_OPEN_MAIN_DB = 0x00000100 550 SQLITE_OPEN_MAIN_JOURNAL = 0x00000800 551 SQLITE_OPEN_MASTER_JOURNAL = 0x00004000 552 SQLITE_OPEN_MEMORY = 0x00000080 553 SQLITE_OPEN_NOFOLLOW = 0x01000000 554 SQLITE_OPEN_NOMUTEX = 0x00008000 555 SQLITE_OPEN_PRIVATECACHE = 0x00040000 556 SQLITE_OPEN_READONLY = 0x00000001 557 SQLITE_OPEN_READWRITE = 0x00000002 558 SQLITE_OPEN_SHAREDCACHE = 0x00020000 559 SQLITE_OPEN_SUBJOURNAL = 0x00002000 560 SQLITE_OPEN_SUPER_JOURNAL = 0x00004000 561 SQLITE_OPEN_TEMP_DB = 0x00000200 562 SQLITE_OPEN_TEMP_JOURNAL = 0x00001000 563 SQLITE_OPEN_TRANSIENT_DB = 0x00000400 564 SQLITE_OPEN_URI = 0x00000040 565 SQLITE_OPEN_WAL = 0x00080000 566 SQLITE_OS_UNIX = 1 567 SQLITE_PERM = 3 568 SQLITE_PRAGMA = 19 569 SQLITE_PREPARE_NORMALIZE = 0x02 570 SQLITE_PREPARE_NO_VTAB = 0x04 571 SQLITE_PREPARE_PERSISTENT = 0x01 572 SQLITE_PROTOCOL = 15 573 SQLITE_RANGE = 25 574 SQLITE_READ = 20 575 SQLITE_READONLY = 8 576 SQLITE_READONLY_CANTINIT = 1288 577 SQLITE_READONLY_CANTLOCK = 520 578 SQLITE_READONLY_DBMOVED = 1032 579 SQLITE_READONLY_DIRECTORY = 1544 580 SQLITE_READONLY_RECOVERY = 264 581 SQLITE_READONLY_ROLLBACK = 776 582 SQLITE_RECURSIVE = 33 583 SQLITE_REINDEX = 27 584 SQLITE_REPLACE = 5 585 SQLITE_ROLLBACK = 1 586 SQLITE_ROW = 100 587 SQLITE_SAVEPOINT = 32 588 SQLITE_SCANSTAT_EST = 2 589 SQLITE_SCANSTAT_EXPLAIN = 4 590 SQLITE_SCANSTAT_NAME = 3 591 SQLITE_SCANSTAT_NLOOP = 0 592 SQLITE_SCANSTAT_NVISIT = 1 593 SQLITE_SCANSTAT_SELECTID = 5 594 SQLITE_SCHEMA = 17 595 SQLITE_SELECT = 21 596 SQLITE_SERIALIZE_NOCOPY = 0x001 597 SQLITE_SESSION_CONFIG_STRMSIZE = 1 598 SQLITE_SESSION_OBJCONFIG_SIZE = 1 599 SQLITE_SET_LOCKPROXYFILE = 3 600 SQLITE_SHM_EXCLUSIVE = 8 601 SQLITE_SHM_LOCK = 2 602 SQLITE_SHM_NLOCK = 8 603 SQLITE_SHM_SHARED = 4 604 SQLITE_SHM_UNLOCK = 1 605 SQLITE_SOUNDEX = 1 606 SQLITE_SOURCE_ID = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8" 607 SQLITE_STATUS_MALLOC_COUNT = 9 608 SQLITE_STATUS_MALLOC_SIZE = 5 609 SQLITE_STATUS_MEMORY_USED = 0 610 SQLITE_STATUS_PAGECACHE_OVERFLOW = 2 611 SQLITE_STATUS_PAGECACHE_SIZE = 7 612 SQLITE_STATUS_PAGECACHE_USED = 1 613 SQLITE_STATUS_PARSER_STACK = 6 614 SQLITE_STATUS_SCRATCH_OVERFLOW = 4 615 SQLITE_STATUS_SCRATCH_SIZE = 8 616 SQLITE_STATUS_SCRATCH_USED = 3 617 SQLITE_STDCALL = 0 618 SQLITE_STMTSTATUS_AUTOINDEX = 3 619 SQLITE_STMTSTATUS_FILTER_HIT = 8 620 SQLITE_STMTSTATUS_FILTER_MISS = 7 621 SQLITE_STMTSTATUS_FULLSCAN_STEP = 1 622 SQLITE_STMTSTATUS_MEMUSED = 99 623 SQLITE_STMTSTATUS_REPREPARE = 5 624 SQLITE_STMTSTATUS_RUN = 6 625 SQLITE_STMTSTATUS_SORT = 2 626 SQLITE_STMTSTATUS_VM_STEP = 4 627 SQLITE_SUBTYPE = 0x000100000 628 SQLITE_SYNC_DATAONLY = 0x00010 629 SQLITE_SYNC_FULL = 0x00003 630 SQLITE_SYNC_NORMAL = 0x00002 631 SQLITE_SYSAPI = 0 632 SQLITE_TESTCTRL_ALWAYS = 13 633 SQLITE_TESTCTRL_ASSERT = 12 634 SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10 635 SQLITE_TESTCTRL_BITVEC_TEST = 8 636 SQLITE_TESTCTRL_BYTEORDER = 22 637 SQLITE_TESTCTRL_EXPLAIN_STMT = 19 638 SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS = 29 639 SQLITE_TESTCTRL_FAULT_INSTALL = 9 640 SQLITE_TESTCTRL_FIRST = 5 641 SQLITE_TESTCTRL_IMPOSTER = 25 642 SQLITE_TESTCTRL_INTERNAL_FUNCTIONS = 17 643 SQLITE_TESTCTRL_ISINIT = 23 644 SQLITE_TESTCTRL_ISKEYWORD = 16 645 SQLITE_TESTCTRL_LAST = 33 646 SQLITE_TESTCTRL_LOCALTIME_FAULT = 18 647 SQLITE_TESTCTRL_LOGEST = 33 648 SQLITE_TESTCTRL_NEVER_CORRUPT = 20 649 SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19 650 SQLITE_TESTCTRL_OPTIMIZATIONS = 15 651 SQLITE_TESTCTRL_PARSER_COVERAGE = 26 652 SQLITE_TESTCTRL_PENDING_BYTE = 11 653 SQLITE_TESTCTRL_PRNG_RESET = 7 654 SQLITE_TESTCTRL_PRNG_RESTORE = 6 655 SQLITE_TESTCTRL_PRNG_SAVE = 5 656 SQLITE_TESTCTRL_PRNG_SEED = 28 657 SQLITE_TESTCTRL_RESERVE = 14 658 SQLITE_TESTCTRL_RESULT_INTREAL = 27 659 SQLITE_TESTCTRL_SCRATCHMALLOC = 17 660 SQLITE_TESTCTRL_SEEK_COUNT = 30 661 SQLITE_TESTCTRL_SORTER_MMAP = 24 662 SQLITE_TESTCTRL_TRACEFLAGS = 31 663 SQLITE_TESTCTRL_TUNE = 32 664 SQLITE_TESTCTRL_VDBE_COVERAGE = 21 665 SQLITE_TEXT = 3 666 SQLITE_THREADSAFE = 1 667 SQLITE_TOOBIG = 18 668 SQLITE_TRACE_CLOSE = 0x08 669 SQLITE_TRACE_PROFILE = 0x02 670 SQLITE_TRACE_ROW = 0x04 671 SQLITE_TRACE_STMT = 0x01 672 SQLITE_TRANSACTION = 22 673 SQLITE_TXN_NONE = 0 674 SQLITE_TXN_READ = 1 675 SQLITE_TXN_WRITE = 2 676 SQLITE_UPDATE = 23 677 SQLITE_UTF16 = 4 678 SQLITE_UTF16BE = 3 679 SQLITE_UTF16LE = 2 680 SQLITE_UTF16_ALIGNED = 8 681 SQLITE_UTF8 = 1 682 SQLITE_VERSION = "3.39.3" 683 SQLITE_VERSION_NUMBER = 3039003 684 SQLITE_VTAB_CONSTRAINT_SUPPORT = 1 685 SQLITE_VTAB_DIRECTONLY = 3 686 SQLITE_VTAB_INNOCUOUS = 2 687 SQLITE_WARNING = 28 688 SQLITE_WARNING_AUTOINDEX = 284 689 SQLITE_WIN32_DATA_DIRECTORY_TYPE = 1 690 SQLITE_WIN32_TEMP_DIRECTORY_TYPE = 2 691 STDERR_FILENO = 2 692 STDIN_FILENO = 0 693 STDOUT_FILENO = 1 694 TMP_MAX = 238328 695 WCONTINUED = 8 696 WEXITED = 4 697 WNOHANG = 1 698 WNOWAIT = 0x01000000 699 WSTOPPED = 2 700 WUNTRACED = 2 701 W_OK = 2 702 X_OK = 1 703 X_ALLOCA_H = 1 704 X_ANSI_STDARG_H_ = 0 705 X_ASM_GENERIC_ERRNO_BASE_H = 0 706 X_ASM_GENERIC_ERRNO_H = 0 707 X_ASSERT_H = 1 708 X_ATFILE_SOURCE = 1 709 X_BITS_BYTESWAP_H = 1 710 X_BITS_ENDIANNESS_H = 1 711 X_BITS_ENDIAN_H = 1 712 X_BITS_ERRNO_H = 1 713 X_BITS_FLOATN_COMMON_H = 0 714 X_BITS_FLOATN_H = 0 715 X_BITS_POSIX_OPT_H = 1 716 X_BITS_PTHREADTYPES_ARCH_H = 1 717 X_BITS_PTHREADTYPES_COMMON_H = 1 718 X_BITS_STDINT_INTN_H = 1 719 X_BITS_STDIO_LIM_H = 1 720 X_BITS_TIME64_H = 1 721 X_BITS_TYPESIZES_H = 1 722 X_BITS_TYPES_H = 1 723 X_BITS_TYPES_LOCALE_T_H = 1 724 X_BITS_TYPES___LOCALE_T_H = 1 725 X_BITS_UINTN_IDENTITY_H = 1 726 X_BSD_SIZE_T_ = 0 727 X_BSD_SIZE_T_DEFINED_ = 0 728 X_CTYPE_H = 1 729 X_DEFAULT_SOURCE = 1 730 X_ENDIAN_H = 1 731 X_ERRNO_H = 1 732 X_FEATURES_H = 1 733 X_FILE_OFFSET_BITS = 64 734 X_FTS5_H = 0 735 X_GCC_SIZE_T = 0 736 X_GCC_WCHAR_T = 0 737 X_GETOPT_CORE_H = 1 738 X_GETOPT_POSIX_H = 1 739 X_IOFBF = 0 740 X_IOLBF = 1 741 X_IONBF = 2 742 X_IO_EOF_SEEN = 0x0010 743 X_IO_ERR_SEEN = 0x0020 744 X_IO_USER_LOCK = 0x8000 745 X_LFS64_ASYNCHRONOUS_IO = 1 746 X_LFS64_LARGEFILE = 1 747 X_LFS64_STDIO = 1 748 X_LFS_ASYNCHRONOUS_IO = 1 749 X_LFS_LARGEFILE = 1 750 X_LP64 = 1 751 X_POSIX2_CHAR_TERM = 200809 752 X_POSIX2_C_BIND = 200809 753 X_POSIX2_C_DEV = 200809 754 X_POSIX2_C_VERSION = 200809 755 X_POSIX2_LOCALEDEF = 200809 756 X_POSIX2_SW_DEV = 200809 757 X_POSIX2_VERSION = 200809 758 X_POSIX_ADVISORY_INFO = 200809 759 X_POSIX_ASYNCHRONOUS_IO = 200809 760 X_POSIX_ASYNC_IO = 1 761 X_POSIX_BARRIERS = 200809 762 X_POSIX_CHOWN_RESTRICTED = 0 763 X_POSIX_CLOCK_SELECTION = 200809 764 X_POSIX_CPUTIME = 0 765 X_POSIX_C_SOURCE = 200809 766 X_POSIX_FSYNC = 200809 767 X_POSIX_IPV6 = 200809 768 X_POSIX_JOB_CONTROL = 1 769 X_POSIX_MAPPED_FILES = 200809 770 X_POSIX_MEMLOCK = 200809 771 X_POSIX_MEMLOCK_RANGE = 200809 772 X_POSIX_MEMORY_PROTECTION = 200809 773 X_POSIX_MESSAGE_PASSING = 200809 774 X_POSIX_MONOTONIC_CLOCK = 0 775 X_POSIX_NO_TRUNC = 1 776 X_POSIX_PRIORITIZED_IO = 200809 777 X_POSIX_PRIORITY_SCHEDULING = 200809 778 X_POSIX_RAW_SOCKETS = 200809 779 X_POSIX_READER_WRITER_LOCKS = 200809 780 X_POSIX_REALTIME_SIGNALS = 200809 781 X_POSIX_REENTRANT_FUNCTIONS = 1 782 X_POSIX_REGEXP = 1 783 X_POSIX_SAVED_IDS = 1 784 X_POSIX_SEMAPHORES = 200809 785 X_POSIX_SHARED_MEMORY_OBJECTS = 200809 786 X_POSIX_SHELL = 1 787 X_POSIX_SOURCE = 1 788 X_POSIX_SPAWN = 200809 789 X_POSIX_SPIN_LOCKS = 200809 790 X_POSIX_SPORADIC_SERVER = -1 791 X_POSIX_SYNCHRONIZED_IO = 200809 792 X_POSIX_THREADS = 200809 793 X_POSIX_THREAD_ATTR_STACKADDR = 200809 794 X_POSIX_THREAD_ATTR_STACKSIZE = 200809 795 X_POSIX_THREAD_CPUTIME = 0 796 X_POSIX_THREAD_PRIORITY_SCHEDULING = 200809 797 X_POSIX_THREAD_PRIO_INHERIT = 200809 798 X_POSIX_THREAD_PRIO_PROTECT = 200809 799 X_POSIX_THREAD_PROCESS_SHARED = 200809 800 X_POSIX_THREAD_ROBUST_PRIO_INHERIT = 200809 801 X_POSIX_THREAD_ROBUST_PRIO_PROTECT = -1 802 X_POSIX_THREAD_SAFE_FUNCTIONS = 200809 803 X_POSIX_THREAD_SPORADIC_SERVER = -1 804 X_POSIX_TIMEOUTS = 200809 805 X_POSIX_TIMERS = 200809 806 X_POSIX_TRACE = -1 807 X_POSIX_TRACE_EVENT_FILTER = -1 808 X_POSIX_TRACE_INHERIT = -1 809 X_POSIX_TRACE_LOG = -1 810 X_POSIX_TYPED_MEMORY_OBJECTS = -1 811 X_POSIX_V6_ILP32_OFF32 = -1 812 X_POSIX_V6_ILP32_OFFBIG = -1 813 X_POSIX_V6_LP64_OFF64 = 1 814 X_POSIX_V6_LPBIG_OFFBIG = -1 815 X_POSIX_V7_ILP32_OFF32 = -1 816 X_POSIX_V7_ILP32_OFFBIG = -1 817 X_POSIX_V7_LP64_OFF64 = 1 818 X_POSIX_V7_LPBIG_OFFBIG = -1 819 X_POSIX_VDISABLE = 0 820 X_POSIX_VERSION = 200809 821 X_RWLOCK_INTERNAL_H = 0 822 X_SIZET_ = 0 823 X_SIZE_T = 0 824 X_SIZE_T_ = 0 825 X_SIZE_T_DECLARED = 0 826 X_SIZE_T_DEFINED = 0 827 X_SIZE_T_DEFINED_ = 0 828 X_SQLITE3RTREE_H_ = 0 829 X_STDARG_H = 0 830 X_STDC_PREDEF_H = 1 831 X_STDIO_H = 1 832 X_STDLIB_H = 1 833 X_STRINGS_H = 1 834 X_STRING_H = 1 835 X_STRUCT_TIMESPEC = 1 836 X_SYS_CDEFS_H = 1 837 X_SYS_SELECT_H = 1 838 X_SYS_SIZE_T_H = 0 839 X_SYS_TYPES_H = 1 840 X_THREAD_MUTEX_INTERNAL_H = 1 841 X_THREAD_SHARED_TYPES_H = 1 842 X_T_SIZE = 0 843 X_T_SIZE_ = 0 844 X_T_WCHAR = 0 845 X_T_WCHAR_ = 0 846 X_UNISTD_H = 1 847 X_VA_LIST = 0 848 X_VA_LIST_ = 0 849 X_VA_LIST_DEFINED = 0 850 X_VA_LIST_T_H = 0 851 X_WCHAR_T = 0 852 X_WCHAR_T_ = 0 853 X_WCHAR_T_DECLARED = 0 854 X_WCHAR_T_DEFINED = 0 855 X_WCHAR_T_DEFINED_ = 0 856 X_WCHAR_T_H = 0 857 X_XBS5_ILP32_OFF32 = -1 858 X_XBS5_ILP32_OFFBIG = -1 859 X_XBS5_LP64_OFF64 = 1 860 X_XBS5_LPBIG_OFFBIG = -1 861 X_XOPEN_ENH_I18N = 1 862 X_XOPEN_LEGACY = 1 863 X_XOPEN_REALTIME = 1 864 X_XOPEN_REALTIME_THREADS = 1 865 X_XOPEN_SHM = 1 866 X_XOPEN_UNIX = 1 867 X_XOPEN_VERSION = 700 868 X_XOPEN_XCU_VERSION = 4 869 X_XOPEN_XPG2 = 1 870 X_XOPEN_XPG3 = 1 871 X_XOPEN_XPG4 = 1 872 Linux = 1 873 Unix = 1 874 ) 875 876 const ( 877 _PC_LINK_MAX = 0 878 _PC_MAX_CANON = 1 879 _PC_MAX_INPUT = 2 880 _PC_NAME_MAX = 3 881 _PC_PATH_MAX = 4 882 _PC_PIPE_BUF = 5 883 _PC_CHOWN_RESTRICTED = 6 884 _PC_NO_TRUNC = 7 885 _PC_VDISABLE = 8 886 _PC_SYNC_IO = 9 887 _PC_ASYNC_IO = 10 888 _PC_PRIO_IO = 11 889 _PC_SOCK_MAXBUF = 12 890 _PC_FILESIZEBITS = 13 891 _PC_REC_INCR_XFER_SIZE = 14 892 _PC_REC_MAX_XFER_SIZE = 15 893 _PC_REC_MIN_XFER_SIZE = 16 894 _PC_REC_XFER_ALIGN = 17 895 _PC_ALLOC_SIZE_MIN = 18 896 _PC_SYMLINK_MAX = 19 897 _PC_2_SYMLINKS = 20 898 ) 899 900 const ( 901 _CS_PATH = 0 902 903 _CS_V6_WIDTH_RESTRICTED_ENVS = 1 904 905 _CS_GNU_LIBC_VERSION = 2 906 _CS_GNU_LIBPTHREAD_VERSION = 3 907 908 _CS_V5_WIDTH_RESTRICTED_ENVS = 4 909 910 _CS_V7_WIDTH_RESTRICTED_ENVS = 5 911 912 _CS_LFS_CFLAGS = 1000 913 _CS_LFS_LDFLAGS = 1001 914 _CS_LFS_LIBS = 1002 915 _CS_LFS_LINTFLAGS = 1003 916 _CS_LFS64_CFLAGS = 1004 917 _CS_LFS64_LDFLAGS = 1005 918 _CS_LFS64_LIBS = 1006 919 _CS_LFS64_LINTFLAGS = 1007 920 921 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100 922 _CS_XBS5_ILP32_OFF32_LDFLAGS = 1101 923 _CS_XBS5_ILP32_OFF32_LIBS = 1102 924 _CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103 925 _CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104 926 _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105 927 _CS_XBS5_ILP32_OFFBIG_LIBS = 1106 928 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107 929 _CS_XBS5_LP64_OFF64_CFLAGS = 1108 930 _CS_XBS5_LP64_OFF64_LDFLAGS = 1109 931 _CS_XBS5_LP64_OFF64_LIBS = 1110 932 _CS_XBS5_LP64_OFF64_LINTFLAGS = 1111 933 _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112 934 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113 935 _CS_XBS5_LPBIG_OFFBIG_LIBS = 1114 936 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115 937 938 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116 939 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117 940 _CS_POSIX_V6_ILP32_OFF32_LIBS = 1118 941 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119 942 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120 943 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121 944 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122 945 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123 946 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124 947 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125 948 _CS_POSIX_V6_LP64_OFF64_LIBS = 1126 949 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127 950 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128 951 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129 952 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130 953 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131 954 955 _CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132 956 _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133 957 _CS_POSIX_V7_ILP32_OFF32_LIBS = 1134 958 _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135 959 _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136 960 _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137 961 _CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138 962 _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139 963 _CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140 964 _CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141 965 _CS_POSIX_V7_LP64_OFF64_LIBS = 1142 966 _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143 967 _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144 968 _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145 969 _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146 970 _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147 971 972 _CS_V6_ENV = 1148 973 _CS_V7_ENV = 1149 974 ) 975 976 const ( 977 _SC_ARG_MAX = 0 978 _SC_CHILD_MAX = 1 979 _SC_CLK_TCK = 2 980 _SC_NGROUPS_MAX = 3 981 _SC_OPEN_MAX = 4 982 _SC_STREAM_MAX = 5 983 _SC_TZNAME_MAX = 6 984 _SC_JOB_CONTROL = 7 985 _SC_SAVED_IDS = 8 986 _SC_REALTIME_SIGNALS = 9 987 _SC_PRIORITY_SCHEDULING = 10 988 _SC_TIMERS = 11 989 _SC_ASYNCHRONOUS_IO = 12 990 _SC_PRIORITIZED_IO = 13 991 _SC_SYNCHRONIZED_IO = 14 992 _SC_FSYNC = 15 993 _SC_MAPPED_FILES = 16 994 _SC_MEMLOCK = 17 995 _SC_MEMLOCK_RANGE = 18 996 _SC_MEMORY_PROTECTION = 19 997 _SC_MESSAGE_PASSING = 20 998 _SC_SEMAPHORES = 21 999 _SC_SHARED_MEMORY_OBJECTS = 22 1000 _SC_AIO_LISTIO_MAX = 23 1001 _SC_AIO_MAX = 24 1002 _SC_AIO_PRIO_DELTA_MAX = 25 1003 _SC_DELAYTIMER_MAX = 26 1004 _SC_MQ_OPEN_MAX = 27 1005 _SC_MQ_PRIO_MAX = 28 1006 _SC_VERSION = 29 1007 _SC_PAGESIZE = 30 1008 _SC_RTSIG_MAX = 31 1009 _SC_SEM_NSEMS_MAX = 32 1010 _SC_SEM_VALUE_MAX = 33 1011 _SC_SIGQUEUE_MAX = 34 1012 _SC_TIMER_MAX = 35 1013 1014 _SC_BC_BASE_MAX = 36 1015 _SC_BC_DIM_MAX = 37 1016 _SC_BC_SCALE_MAX = 38 1017 _SC_BC_STRING_MAX = 39 1018 _SC_COLL_WEIGHTS_MAX = 40 1019 _SC_EQUIV_CLASS_MAX = 41 1020 _SC_EXPR_NEST_MAX = 42 1021 _SC_LINE_MAX = 43 1022 _SC_RE_DUP_MAX = 44 1023 _SC_CHARCLASS_NAME_MAX = 45 1024 1025 _SC_2_VERSION = 46 1026 _SC_2_C_BIND = 47 1027 _SC_2_C_DEV = 48 1028 _SC_2_FORT_DEV = 49 1029 _SC_2_FORT_RUN = 50 1030 _SC_2_SW_DEV = 51 1031 _SC_2_LOCALEDEF = 52 1032 1033 _SC_PII = 53 1034 _SC_PII_XTI = 54 1035 _SC_PII_SOCKET = 55 1036 _SC_PII_INTERNET = 56 1037 _SC_PII_OSI = 57 1038 _SC_POLL = 58 1039 _SC_SELECT = 59 1040 _SC_UIO_MAXIOV = 60 1041 _SC_IOV_MAX = 60 1042 _SC_PII_INTERNET_STREAM = 61 1043 _SC_PII_INTERNET_DGRAM = 62 1044 _SC_PII_OSI_COTS = 63 1045 _SC_PII_OSI_CLTS = 64 1046 _SC_PII_OSI_M = 65 1047 _SC_T_IOV_MAX = 66 1048 1049 _SC_THREADS = 67 1050 _SC_THREAD_SAFE_FUNCTIONS = 68 1051 _SC_GETGR_R_SIZE_MAX = 69 1052 _SC_GETPW_R_SIZE_MAX = 70 1053 _SC_LOGIN_NAME_MAX = 71 1054 _SC_TTY_NAME_MAX = 72 1055 _SC_THREAD_DESTRUCTOR_ITERATIONS = 73 1056 _SC_THREAD_KEYS_MAX = 74 1057 _SC_THREAD_STACK_MIN = 75 1058 _SC_THREAD_THREADS_MAX = 76 1059 _SC_THREAD_ATTR_STACKADDR = 77 1060 _SC_THREAD_ATTR_STACKSIZE = 78 1061 _SC_THREAD_PRIORITY_SCHEDULING = 79 1062 _SC_THREAD_PRIO_INHERIT = 80 1063 _SC_THREAD_PRIO_PROTECT = 81 1064 _SC_THREAD_PROCESS_SHARED = 82 1065 1066 _SC_NPROCESSORS_CONF = 83 1067 _SC_NPROCESSORS_ONLN = 84 1068 _SC_PHYS_PAGES = 85 1069 _SC_AVPHYS_PAGES = 86 1070 _SC_ATEXIT_MAX = 87 1071 _SC_PASS_MAX = 88 1072 1073 _SC_XOPEN_VERSION = 89 1074 _SC_XOPEN_XCU_VERSION = 90 1075 _SC_XOPEN_UNIX = 91 1076 _SC_XOPEN_CRYPT = 92 1077 _SC_XOPEN_ENH_I18N = 93 1078 _SC_XOPEN_SHM = 94 1079 1080 _SC_2_CHAR_TERM = 95 1081 _SC_2_C_VERSION = 96 1082 _SC_2_UPE = 97 1083 1084 _SC_XOPEN_XPG2 = 98 1085 _SC_XOPEN_XPG3 = 99 1086 _SC_XOPEN_XPG4 = 100 1087 1088 _SC_CHAR_BIT = 101 1089 _SC_CHAR_MAX = 102 1090 _SC_CHAR_MIN = 103 1091 _SC_INT_MAX = 104 1092 _SC_INT_MIN = 105 1093 _SC_LONG_BIT = 106 1094 _SC_WORD_BIT = 107 1095 _SC_MB_LEN_MAX = 108 1096 _SC_NZERO = 109 1097 _SC_SSIZE_MAX = 110 1098 _SC_SCHAR_MAX = 111 1099 _SC_SCHAR_MIN = 112 1100 _SC_SHRT_MAX = 113 1101 _SC_SHRT_MIN = 114 1102 _SC_UCHAR_MAX = 115 1103 _SC_UINT_MAX = 116 1104 _SC_ULONG_MAX = 117 1105 _SC_USHRT_MAX = 118 1106 1107 _SC_NL_ARGMAX = 119 1108 _SC_NL_LANGMAX = 120 1109 _SC_NL_MSGMAX = 121 1110 _SC_NL_NMAX = 122 1111 _SC_NL_SETMAX = 123 1112 _SC_NL_TEXTMAX = 124 1113 1114 _SC_XBS5_ILP32_OFF32 = 125 1115 _SC_XBS5_ILP32_OFFBIG = 126 1116 _SC_XBS5_LP64_OFF64 = 127 1117 _SC_XBS5_LPBIG_OFFBIG = 128 1118 1119 _SC_XOPEN_LEGACY = 129 1120 _SC_XOPEN_REALTIME = 130 1121 _SC_XOPEN_REALTIME_THREADS = 131 1122 1123 _SC_ADVISORY_INFO = 132 1124 _SC_BARRIERS = 133 1125 _SC_BASE = 134 1126 _SC_C_LANG_SUPPORT = 135 1127 _SC_C_LANG_SUPPORT_R = 136 1128 _SC_CLOCK_SELECTION = 137 1129 _SC_CPUTIME = 138 1130 _SC_THREAD_CPUTIME = 139 1131 _SC_DEVICE_IO = 140 1132 _SC_DEVICE_SPECIFIC = 141 1133 _SC_DEVICE_SPECIFIC_R = 142 1134 _SC_FD_MGMT = 143 1135 _SC_FIFO = 144 1136 _SC_PIPE = 145 1137 _SC_FILE_ATTRIBUTES = 146 1138 _SC_FILE_LOCKING = 147 1139 _SC_FILE_SYSTEM = 148 1140 _SC_MONOTONIC_CLOCK = 149 1141 _SC_MULTI_PROCESS = 150 1142 _SC_SINGLE_PROCESS = 151 1143 _SC_NETWORKING = 152 1144 _SC_READER_WRITER_LOCKS = 153 1145 _SC_SPIN_LOCKS = 154 1146 _SC_REGEXP = 155 1147 _SC_REGEX_VERSION = 156 1148 _SC_SHELL = 157 1149 _SC_SIGNALS = 158 1150 _SC_SPAWN = 159 1151 _SC_SPORADIC_SERVER = 160 1152 _SC_THREAD_SPORADIC_SERVER = 161 1153 _SC_SYSTEM_DATABASE = 162 1154 _SC_SYSTEM_DATABASE_R = 163 1155 _SC_TIMEOUTS = 164 1156 _SC_TYPED_MEMORY_OBJECTS = 165 1157 _SC_USER_GROUPS = 166 1158 _SC_USER_GROUPS_R = 167 1159 _SC_2_PBS = 168 1160 _SC_2_PBS_ACCOUNTING = 169 1161 _SC_2_PBS_LOCATE = 170 1162 _SC_2_PBS_MESSAGE = 171 1163 _SC_2_PBS_TRACK = 172 1164 _SC_SYMLOOP_MAX = 173 1165 _SC_STREAMS = 174 1166 _SC_2_PBS_CHECKPOINT = 175 1167 1168 _SC_V6_ILP32_OFF32 = 176 1169 _SC_V6_ILP32_OFFBIG = 177 1170 _SC_V6_LP64_OFF64 = 178 1171 _SC_V6_LPBIG_OFFBIG = 179 1172 1173 _SC_HOST_NAME_MAX = 180 1174 _SC_TRACE = 181 1175 _SC_TRACE_EVENT_FILTER = 182 1176 _SC_TRACE_INHERIT = 183 1177 _SC_TRACE_LOG = 184 1178 1179 _SC_LEVEL1_ICACHE_SIZE = 185 1180 _SC_LEVEL1_ICACHE_ASSOC = 186 1181 _SC_LEVEL1_ICACHE_LINESIZE = 187 1182 _SC_LEVEL1_DCACHE_SIZE = 188 1183 _SC_LEVEL1_DCACHE_ASSOC = 189 1184 _SC_LEVEL1_DCACHE_LINESIZE = 190 1185 _SC_LEVEL2_CACHE_SIZE = 191 1186 _SC_LEVEL2_CACHE_ASSOC = 192 1187 _SC_LEVEL2_CACHE_LINESIZE = 193 1188 _SC_LEVEL3_CACHE_SIZE = 194 1189 _SC_LEVEL3_CACHE_ASSOC = 195 1190 _SC_LEVEL3_CACHE_LINESIZE = 196 1191 _SC_LEVEL4_CACHE_SIZE = 197 1192 _SC_LEVEL4_CACHE_ASSOC = 198 1193 _SC_LEVEL4_CACHE_LINESIZE = 199 1194 1195 _SC_IPV6 = 235 1196 _SC_RAW_SOCKETS = 236 1197 1198 _SC_V7_ILP32_OFF32 = 237 1199 _SC_V7_ILP32_OFFBIG = 238 1200 _SC_V7_LP64_OFF64 = 239 1201 _SC_V7_LPBIG_OFFBIG = 240 1202 1203 _SC_SS_REPL_MAX = 241 1204 1205 _SC_TRACE_EVENT_NAME_MAX = 242 1206 _SC_TRACE_NAME_MAX = 243 1207 _SC_TRACE_SYS_MAX = 244 1208 _SC_TRACE_USER_EVENT_MAX = 245 1209 1210 _SC_XOPEN_STREAMS = 246 1211 1212 _SC_THREAD_ROBUST_PRIO_INHERIT = 247 1213 _SC_THREAD_ROBUST_PRIO_PROTECT = 248 1214 ) 1215 1216 const ( 1217 P_ALL = 0 1218 P_PID = 1 1219 P_PGID = 2 1220 ) 1221 1222 const ( 1223 _ISupper = 256 1224 _ISlower = 512 1225 _ISalpha = 1024 1226 _ISdigit = 2048 1227 _ISxdigit = 4096 1228 _ISspace = 8192 1229 _ISprint = 16384 1230 _ISgraph = 32768 1231 _ISblank = 1 1232 _IScntrl = 2 1233 _ISpunct = 4 1234 _ISalnum = 8 1235 ) 1236 1237 type ptrdiff_t = int64 1238 1239 type size_t = uint64 1240 1241 type wchar_t = uint32 1242 1243 type va_list = uintptr 1244 1245 type sqlite_int64 = int64 1246 type sqlite_uint64 = uint64 1247 type sqlite3_int64 = sqlite_int64 1248 type sqlite3_uint64 = sqlite_uint64 1249 1250 type sqlite3_callback = uintptr 1251 1252 type sqlite3_file1 = struct{ pMethods uintptr } 1253 1254 type sqlite3_file = sqlite3_file1 1255 type sqlite3_io_methods1 = struct { 1256 iVersion int32 1257 _ [4]byte 1258 xClose uintptr 1259 xRead uintptr 1260 xWrite uintptr 1261 xTruncate uintptr 1262 xSync uintptr 1263 xFileSize uintptr 1264 xLock uintptr 1265 xUnlock uintptr 1266 xCheckReservedLock uintptr 1267 xFileControl uintptr 1268 xSectorSize uintptr 1269 xDeviceCharacteristics uintptr 1270 xShmMap uintptr 1271 xShmLock uintptr 1272 xShmBarrier uintptr 1273 xShmUnmap uintptr 1274 xFetch uintptr 1275 xUnfetch uintptr 1276 } 1277 1278 type sqlite3_io_methods = sqlite3_io_methods1 1279 1280 type sqlite3_vfs1 = struct { 1281 iVersion int32 1282 szOsFile int32 1283 mxPathname int32 1284 _ [4]byte 1285 pNext uintptr 1286 zName uintptr 1287 pAppData uintptr 1288 xOpen uintptr 1289 xDelete uintptr 1290 xAccess uintptr 1291 xFullPathname uintptr 1292 xDlOpen uintptr 1293 xDlError uintptr 1294 xDlSym uintptr 1295 xDlClose uintptr 1296 xRandomness uintptr 1297 xSleep uintptr 1298 xCurrentTime uintptr 1299 xGetLastError uintptr 1300 xCurrentTimeInt64 uintptr 1301 xSetSystemCall uintptr 1302 xGetSystemCall uintptr 1303 xNextSystemCall uintptr 1304 } 1305 1306 type sqlite3_vfs = sqlite3_vfs1 1307 type sqlite3_syscall_ptr = uintptr 1308 1309 type sqlite3_mem_methods1 = struct { 1310 xMalloc uintptr 1311 xFree uintptr 1312 xRealloc uintptr 1313 xSize uintptr 1314 xRoundup uintptr 1315 xInit uintptr 1316 xShutdown uintptr 1317 pAppData uintptr 1318 } 1319 1320 type sqlite3_mem_methods = sqlite3_mem_methods1 1321 1322 type sqlite3_destructor_type = uintptr 1323 1324 type sqlite3_vtab1 = struct { 1325 pModule uintptr 1326 nRef int32 1327 _ [4]byte 1328 zErrMsg uintptr 1329 } 1330 1331 type sqlite3_vtab = sqlite3_vtab1 1332 type sqlite3_index_info1 = struct { 1333 nConstraint int32 1334 _ [4]byte 1335 aConstraint uintptr 1336 nOrderBy int32 1337 _ [4]byte 1338 aOrderBy uintptr 1339 aConstraintUsage uintptr 1340 idxNum int32 1341 _ [4]byte 1342 idxStr uintptr 1343 needToFreeIdxStr int32 1344 orderByConsumed int32 1345 estimatedCost float64 1346 estimatedRows sqlite3_int64 1347 idxFlags int32 1348 _ [4]byte 1349 colUsed sqlite3_uint64 1350 } 1351 1352 type sqlite3_index_info = sqlite3_index_info1 1353 type sqlite3_vtab_cursor1 = struct{ pVtab uintptr } 1354 1355 type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 1356 type sqlite3_module1 = struct { 1357 iVersion int32 1358 _ [4]byte 1359 xCreate uintptr 1360 xConnect uintptr 1361 xBestIndex uintptr 1362 xDisconnect uintptr 1363 xDestroy uintptr 1364 xOpen uintptr 1365 xClose uintptr 1366 xFilter uintptr 1367 xNext uintptr 1368 xEof uintptr 1369 xColumn uintptr 1370 xRowid uintptr 1371 xUpdate uintptr 1372 xBegin uintptr 1373 xSync uintptr 1374 xCommit uintptr 1375 xRollback uintptr 1376 xFindFunction uintptr 1377 xRename uintptr 1378 xSavepoint uintptr 1379 xRelease uintptr 1380 xRollbackTo uintptr 1381 xShadowName uintptr 1382 } 1383 1384 type sqlite3_module = sqlite3_module1 1385 1386 type sqlite3_index_constraint = struct { 1387 iColumn int32 1388 op uint8 1389 usable uint8 1390 _ [2]byte 1391 iTermOffset int32 1392 } 1393 1394 type sqlite3_index_orderby = struct { 1395 iColumn int32 1396 desc uint8 1397 _ [3]byte 1398 } 1399 1400 type sqlite3_index_constraint_usage = struct { 1401 argvIndex int32 1402 omit uint8 1403 _ [3]byte 1404 } 1405 1406 type sqlite3_mutex_methods1 = struct { 1407 xMutexInit uintptr 1408 xMutexEnd uintptr 1409 xMutexAlloc uintptr 1410 xMutexFree uintptr 1411 xMutexEnter uintptr 1412 xMutexTry uintptr 1413 xMutexLeave uintptr 1414 xMutexHeld uintptr 1415 xMutexNotheld uintptr 1416 } 1417 1418 type sqlite3_mutex_methods = sqlite3_mutex_methods1 1419 1420 type sqlite3_pcache_page1 = struct { 1421 pBuf uintptr 1422 pExtra uintptr 1423 } 1424 1425 type sqlite3_pcache_page = sqlite3_pcache_page1 1426 1427 type sqlite3_pcache_methods21 = struct { 1428 iVersion int32 1429 _ [4]byte 1430 pArg uintptr 1431 xInit uintptr 1432 xShutdown uintptr 1433 xCreate uintptr 1434 xCachesize uintptr 1435 xPagecount uintptr 1436 xFetch uintptr 1437 xUnpin uintptr 1438 xRekey uintptr 1439 xTruncate uintptr 1440 xDestroy uintptr 1441 xShrink uintptr 1442 } 1443 1444 type sqlite3_pcache_methods2 = sqlite3_pcache_methods21 1445 1446 type sqlite3_pcache_methods1 = struct { 1447 pArg uintptr 1448 xInit uintptr 1449 xShutdown uintptr 1450 xCreate uintptr 1451 xCachesize uintptr 1452 xPagecount uintptr 1453 xFetch uintptr 1454 xUnpin uintptr 1455 xRekey uintptr 1456 xTruncate uintptr 1457 xDestroy uintptr 1458 } 1459 1460 type sqlite3_pcache_methods = sqlite3_pcache_methods1 1461 1462 type sqlite3_snapshot1 = struct{ hidden [48]uint8 } 1463 1464 type sqlite3_snapshot = sqlite3_snapshot1 1465 1466 type sqlite3_rtree_geometry1 = struct { 1467 pContext uintptr 1468 nParam int32 1469 _ [4]byte 1470 aParam uintptr 1471 pUser uintptr 1472 xDelUser uintptr 1473 } 1474 1475 type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 1476 type sqlite3_rtree_query_info1 = struct { 1477 pContext uintptr 1478 nParam int32 1479 _ [4]byte 1480 aParam uintptr 1481 pUser uintptr 1482 xDelUser uintptr 1483 aCoord uintptr 1484 anQueue uintptr 1485 nCoord int32 1486 iLevel int32 1487 mxLevel int32 1488 _ [4]byte 1489 iRowid sqlite3_int64 1490 rParentScore sqlite3_rtree_dbl 1491 eParentWithin int32 1492 eWithin int32 1493 rScore sqlite3_rtree_dbl 1494 apSqlParam uintptr 1495 } 1496 1497 type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 1498 1499 type sqlite3_rtree_dbl = float64 1500 1501 type Fts5ExtensionApi1 = struct { 1502 iVersion int32 1503 _ [4]byte 1504 xUserData uintptr 1505 xColumnCount uintptr 1506 xRowCount uintptr 1507 xColumnTotalSize uintptr 1508 xTokenize uintptr 1509 xPhraseCount uintptr 1510 xPhraseSize uintptr 1511 xInstCount uintptr 1512 xInst uintptr 1513 xRowid uintptr 1514 xColumnText uintptr 1515 xColumnSize uintptr 1516 xQueryPhrase uintptr 1517 xSetAuxdata uintptr 1518 xGetAuxdata uintptr 1519 xPhraseFirst uintptr 1520 xPhraseNext uintptr 1521 xPhraseFirstColumn uintptr 1522 xPhraseNextColumn uintptr 1523 } 1524 1525 type Fts5ExtensionApi = Fts5ExtensionApi1 1526 type Fts5PhraseIter1 = struct { 1527 a uintptr 1528 b uintptr 1529 } 1530 1531 type Fts5PhraseIter = Fts5PhraseIter1 1532 1533 type fts5_extension_function = uintptr 1534 type fts5_tokenizer1 = struct { 1535 xCreate uintptr 1536 xDelete uintptr 1537 xTokenize uintptr 1538 } 1539 1540 type fts5_tokenizer = fts5_tokenizer1 1541 1542 type fts5_api1 = struct { 1543 iVersion int32 1544 _ [4]byte 1545 xCreateTokenizer uintptr 1546 xFindTokenizer uintptr 1547 xCreateFunction uintptr 1548 } 1549 1550 type fts5_api = fts5_api1 1551 1552 type _G_fpos_t = struct { 1553 __pos int64 1554 __state struct { 1555 __count int32 1556 __value struct{ __wch uint32 } 1557 } 1558 } 1559 1560 type _G_fpos64_t = struct { 1561 __pos int64 1562 __state struct { 1563 __count int32 1564 __value struct{ __wch uint32 } 1565 } 1566 } 1567 1568 type _IO_FILE = struct { 1569 _flags int32 1570 _ [4]byte 1571 _IO_read_ptr uintptr 1572 _IO_read_end uintptr 1573 _IO_read_base uintptr 1574 _IO_write_base uintptr 1575 _IO_write_ptr uintptr 1576 _IO_write_end uintptr 1577 _IO_buf_base uintptr 1578 _IO_buf_end uintptr 1579 _IO_save_base uintptr 1580 _IO_backup_base uintptr 1581 _IO_save_end uintptr 1582 _markers uintptr 1583 _chain uintptr 1584 _fileno int32 1585 _flags2 int32 1586 _old_offset int64 1587 _cur_column uint16 1588 _vtable_offset int8 1589 _shortbuf [1]uint8 1590 _ [4]byte 1591 _lock uintptr 1592 _offset int64 1593 _codecvt uintptr 1594 _wide_data uintptr 1595 _freeres_list uintptr 1596 _freeres_buf uintptr 1597 __pad5 size_t 1598 _mode int32 1599 _unused2 [20]uint8 1600 } 1601 1602 type FILE = _IO_FILE 1603 1604 type off_t = int64 1605 1606 type ssize_t = int64 1607 1608 type fpos_t = _G_fpos64_t 1609 1610 type gid_t = uint32 1611 1612 type uid_t = uint32 1613 1614 type useconds_t = uint32 1615 1616 type pid_t = int32 1617 1618 type intptr_t = int64 1619 1620 type socklen_t = uint32 1621 1622 type idtype_t = uint32 1623 1624 type div_t = struct { 1625 quot int32 1626 rem int32 1627 } 1628 1629 type ldiv_t = struct { 1630 quot int64 1631 rem int64 1632 } 1633 1634 type lldiv_t = struct { 1635 quot int64 1636 rem int64 1637 } 1638 1639 type u_char = uint8 1640 type u_short = uint16 1641 type u_int = uint32 1642 type u_long = uint64 1643 type quad_t = int64 1644 type u_quad_t = uint64 1645 type fsid_t = struct{ __val [2]int32 } 1646 type loff_t = int64 1647 1648 type ino_t = uint64 1649 1650 type dev_t = uint64 1651 1652 type mode_t = uint32 1653 1654 type nlink_t = uint32 1655 1656 type id_t = uint32 1657 1658 type daddr_t = int32 1659 type caddr_t = uintptr 1660 1661 type key_t = int32 1662 1663 type clock_t = int64 1664 1665 type clockid_t = int32 1666 1667 type time_t = int64 1668 1669 type timer_t = uintptr 1670 1671 type ulong = uint64 1672 type ushort = uint16 1673 type uint = uint32 1674 1675 type int8_t = int8 1676 type int16_t = int16 1677 type int32_t = int32 1678 type int64_t = int64 1679 1680 type u_int8_t = uint8 1681 type u_int16_t = uint16 1682 type u_int32_t = uint32 1683 type u_int64_t = uint64 1684 1685 type register_t = int32 1686 1687 type sigset_t = struct{ __val [16]uint64 } 1688 1689 type timeval = struct { 1690 tv_sec int64 1691 tv_usec int64 1692 } 1693 1694 type timespec = struct { 1695 tv_sec int64 1696 tv_nsec int64 1697 } 1698 1699 type suseconds_t = int64 1700 1701 type fd_set = struct{ __fds_bits [16]int64 } 1702 1703 type fd_mask = int64 1704 1705 type blksize_t = int32 1706 1707 type blkcnt_t = int64 1708 type fsblkcnt_t = uint64 1709 type fsfilcnt_t = uint64 1710 1711 type __pthread_internal_list = struct { 1712 __prev uintptr 1713 __next uintptr 1714 } 1715 1716 type __pthread_internal_slist = struct{ __next uintptr } 1717 1718 type __pthread_mutex_s = struct { 1719 __lock int32 1720 __count uint32 1721 __owner int32 1722 __nusers uint32 1723 __kind int32 1724 __spins int32 1725 __list struct { 1726 __prev uintptr 1727 __next uintptr 1728 } 1729 } 1730 1731 type __pthread_rwlock_arch_t = struct { 1732 __readers uint32 1733 __writers uint32 1734 __wrphase_futex uint32 1735 __writers_futex uint32 1736 __pad3 uint32 1737 __pad4 uint32 1738 __cur_writer int32 1739 __shared int32 1740 __pad1 uint64 1741 __pad2 uint64 1742 __flags uint32 1743 _ [4]byte 1744 } 1745 1746 type __pthread_cond_s = struct { 1747 __0 struct{ __wseq uint64 } 1748 __8 struct{ __g1_start uint64 } 1749 __g_refs [2]uint32 1750 __g_size [2]uint32 1751 __g1_orig_size uint32 1752 __wrefs uint32 1753 __g_signals [2]uint32 1754 } 1755 1756 type pthread_t = uint64 1757 1758 type pthread_mutexattr_t = struct { 1759 _ [0]uint32 1760 __size [8]uint8 1761 } 1762 1763 type pthread_condattr_t = struct { 1764 _ [0]uint32 1765 __size [8]uint8 1766 } 1767 1768 type pthread_key_t = uint32 1769 1770 type pthread_once_t = int32 1771 1772 type pthread_attr_t1 = struct { 1773 _ [0]uint64 1774 __size [64]uint8 1775 } 1776 1777 type pthread_attr_t = pthread_attr_t1 1778 1779 type pthread_mutex_t = struct { 1780 __data __pthread_mutex_s 1781 _ [8]byte 1782 } 1783 1784 type pthread_cond_t = struct{ __data __pthread_cond_s } 1785 1786 type pthread_rwlock_t = struct{ __data __pthread_rwlock_arch_t } 1787 1788 type pthread_rwlockattr_t = struct { 1789 _ [0]uint64 1790 __size [8]uint8 1791 } 1792 1793 type pthread_spinlock_t = int32 1794 1795 type pthread_barrier_t = struct { 1796 _ [0]uint64 1797 __size [32]uint8 1798 } 1799 1800 type pthread_barrierattr_t = struct { 1801 _ [0]uint32 1802 __size [8]uint8 1803 } 1804 1805 type random_data = struct { 1806 fptr uintptr 1807 rptr uintptr 1808 state uintptr 1809 rand_type int32 1810 rand_deg int32 1811 rand_sep int32 1812 _ [4]byte 1813 end_ptr uintptr 1814 } 1815 1816 type drand48_data = struct { 1817 __x [3]uint16 1818 __old_x [3]uint16 1819 __c uint16 1820 __init uint16 1821 __a uint64 1822 } 1823 1824 type __locale_struct = struct { 1825 __locales [13]uintptr 1826 __ctype_b uintptr 1827 __ctype_tolower uintptr 1828 __ctype_toupper uintptr 1829 __names [13]uintptr 1830 } 1831 1832 type locale_t = uintptr 1833 1834 type Global = struct { 1835 argv0 uintptr 1836 zVfs uintptr 1837 zDbFile uintptr 1838 db uintptr 1839 zErrLog uintptr 1840 pErrLog uintptr 1841 zLog uintptr 1842 pLog uintptr 1843 zName [32]uint8 1844 taskId int32 1845 iTrace int32 1846 bSqlTrace int32 1847 bIgnoreSqlErrors int32 1848 nError int32 1849 nTest int32 1850 iTimeout int32 1851 bSync int32 1852 } 1853 1854 var g Global 1855 1856 func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) { 1857 bp := tls.Alloc(24) 1858 defer tls.Free(24) 1859 1860 for zMsg != 0 && *(*uint8)(unsafe.Pointer(zMsg)) != 0 { 1861 var i int32 1862 for i = 0; *(*uint8)(unsafe.Pointer(zMsg + uintptr(i))) != 0 && int32(*(*uint8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\n' && int32(*(*uint8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\r'; i++ { 1863 } 1864 libc.Xfprintf(tls, pOut, ts, libc.VaList(bp, zPrefix, i, zMsg)) 1865 zMsg += uintptr(i) 1866 for int32(*(*uint8)(unsafe.Pointer(zMsg))) == '\n' || int32(*(*uint8)(unsafe.Pointer(zMsg))) == '\r' { 1867 zMsg++ 1868 } 1869 } 1870 } 1871 1872 func safe_strcmp(tls *libc.TLS, a uintptr, b uintptr) int32 { 1873 if a == b { 1874 return 0 1875 } 1876 if a == uintptr(0) { 1877 return -1 1878 } 1879 if b == uintptr(0) { 1880 return 1 1881 } 1882 return libc.Xstrcmp(tls, a, b) 1883 } 1884 1885 func strglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 { 1886 var c int32 1887 var c2 int32 1888 var invert int32 1889 var seen int32 1890 1891 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) != 0 { 1892 if c == '*' { 1893 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) == '*' || c == '?' { 1894 if c == '?' && int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 { 1895 return 0 1896 } 1897 } 1898 if c == 0 { 1899 return 1 1900 } else if c == '[' { 1901 for *(*uint8)(unsafe.Pointer(z)) != 0 && strglob(tls, zGlob-uintptr(1), z) != 0 { 1902 z++ 1903 } 1904 return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(z))) != 0) 1905 } 1906 for libc.AssignInt32(&c2, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) != 0 { 1907 for c2 != c { 1908 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) 1909 if c2 == 0 { 1910 return 0 1911 } 1912 } 1913 if strglob(tls, zGlob, z) != 0 { 1914 return 1 1915 } 1916 } 1917 return 0 1918 } else if c == '?' { 1919 if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 { 1920 return 0 1921 } 1922 } else if c == '[' { 1923 var prior_c int32 = 0 1924 seen = 0 1925 invert = 0 1926 c = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) 1927 if c == 0 { 1928 return 0 1929 } 1930 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1931 if c2 == '^' { 1932 invert = 1 1933 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1934 } 1935 if c2 == ']' { 1936 if c == ']' { 1937 seen = 1 1938 } 1939 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1940 } 1941 for c2 != 0 && c2 != ']' { 1942 if c2 == '-' && int32(*(*uint8)(unsafe.Pointer(zGlob))) != ']' && int32(*(*uint8)(unsafe.Pointer(zGlob))) != 0 && prior_c > 0 { 1943 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1944 if c >= prior_c && c <= c2 { 1945 seen = 1 1946 } 1947 prior_c = 0 1948 } else { 1949 if c == c2 { 1950 seen = 1 1951 } 1952 prior_c = c2 1953 } 1954 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1955 } 1956 if c2 == 0 || seen^invert == 0 { 1957 return 0 1958 } 1959 } else if c == '#' { 1960 if (int32(*(*uint8)(unsafe.Pointer(z))) == '-' || int32(*(*uint8)(unsafe.Pointer(z))) == '+') && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z + 1))))*2)))&int32(_ISdigit) != 0 { 1961 z++ 1962 } 1963 if !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z))))*2)))&int32(_ISdigit) != 0) { 1964 return 0 1965 } 1966 z++ 1967 for int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z))))*2)))&int32(_ISdigit) != 0 { 1968 z++ 1969 } 1970 } else { 1971 if c != int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) { 1972 return 0 1973 } 1974 } 1975 } 1976 return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(z))) == 0) 1977 } 1978 1979 func maybeClose(tls *libc.TLS, pOut uintptr) { 1980 if pOut != libc.Xstdout && pOut != libc.Xstderr { 1981 libc.Xfclose(tls, pOut) 1982 } 1983 } 1984 1985 func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { 1986 bp := tls.Alloc(38) 1987 defer tls.Free(38) 1988 1989 var ap va_list 1990 _ = ap 1991 var zMsg uintptr 1992 1993 ap = va 1994 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 1995 _ = ap 1996 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+8, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64)) 1997 if g.pLog != 0 { 1998 printWithPrefix(tls, g.pLog, bp+8, zMsg) 1999 libc.Xfflush(tls, g.pLog) 2000 } 2001 if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 { 2002 printWithPrefix(tls, g.pErrLog, bp+8, zMsg) 2003 libc.Xfflush(tls, g.pErrLog) 2004 } 2005 sqlite3.Xsqlite3_free(tls, zMsg) 2006 g.nError++ 2007 } 2008 2009 func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) { 2010 bp := tls.Alloc(38) 2011 defer tls.Free(38) 2012 2013 var ap va_list 2014 _ = ap 2015 var zMsg uintptr 2016 2017 ap = va 2018 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2019 _ = ap 2020 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+19, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64)) 2021 if g.pLog != 0 { 2022 printWithPrefix(tls, g.pLog, bp+8, zMsg) 2023 libc.Xfflush(tls, g.pLog) 2024 maybeClose(tls, g.pLog) 2025 } 2026 if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 { 2027 printWithPrefix(tls, g.pErrLog, bp+8, zMsg) 2028 libc.Xfflush(tls, g.pErrLog) 2029 maybeClose(tls, g.pErrLog) 2030 } 2031 sqlite3.Xsqlite3_free(tls, zMsg) 2032 if g.db != 0 { 2033 var nTry int32 = 0 2034 g.iTimeout = 0 2035 for trySql(tls, ts+30, 0) == SQLITE_BUSY && 2036 libc.PostIncInt32(&nTry, 1) < 100 { 2037 sqlite3.Xsqlite3_sleep(tls, 10) 2038 } 2039 } 2040 sqlite3.Xsqlite3_close(tls, g.db) 2041 libc.Xexit(tls, 1) 2042 } 2043 2044 func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { 2045 bp := tls.Alloc(38) 2046 defer tls.Free(38) 2047 2048 var ap va_list 2049 _ = ap 2050 var zMsg uintptr 2051 2052 ap = va 2053 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2054 _ = ap 2055 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+60, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64)) 2056 if g.pLog != 0 { 2057 printWithPrefix(tls, g.pLog, bp+8, zMsg) 2058 libc.Xfflush(tls, g.pLog) 2059 } 2060 sqlite3.Xsqlite3_free(tls, zMsg) 2061 } 2062 2063 func clipLength(tls *libc.TLS, z uintptr) int32 { 2064 var n int32 = int32(libc.Xstrlen(tls, z)) 2065 for n > 0 && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z + uintptr(n-1)))))*2)))&int32(_ISspace) != 0 { 2066 n-- 2067 } 2068 return n 2069 } 2070 2071 func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { 2072 bp := tls.Alloc(8) 2073 defer tls.Free(8) 2074 2075 var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context) 2076 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) 2077 _ = argc 2078 _ = argv 2079 sqlite3.Xsqlite3_file_control(tls, db, ts+65, SQLITE_FCNTL_VFSNAME, bp) 2080 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { 2081 sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) 2082 } 2083 } 2084 2085 func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 { 2086 bp := tls.Alloc(8) 2087 defer tls.Free(8) 2088 2089 _ = pCD 2090 if count*10 > g.iTimeout { 2091 if g.iTimeout > 0 { 2092 errorMessage(tls, ts+70, libc.VaList(bp, g.iTimeout)) 2093 } 2094 return 0 2095 } 2096 sqlite3.Xsqlite3_sleep(tls, 10) 2097 return 1 2098 } 2099 2100 func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) { 2101 bp := tls.Alloc(16) 2102 defer tls.Free(16) 2103 2104 _ = NotUsed1 2105 logMessage(tls, ts+89, libc.VaList(bp, clipLength(tls, zSql), zSql)) 2106 } 2107 2108 func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) { 2109 bp := tls.Alloc(24) 2110 defer tls.Free(24) 2111 2112 _ = pArg 2113 if iErrCode == SQLITE_ERROR && g.bIgnoreSqlErrors != 0 { 2114 return 2115 } 2116 if iErrCode&0xff == SQLITE_SCHEMA && g.iTrace < 3 { 2117 return 2118 } 2119 if g.iTimeout == 0 && iErrCode&0xff == SQLITE_BUSY && g.iTrace < 3 { 2120 return 2121 } 2122 if iErrCode&0xff == SQLITE_NOTICE { 2123 logMessage(tls, ts+96, libc.VaList(bp, zMsg)) 2124 } else { 2125 errorMessage(tls, ts+106, libc.VaList(bp+8, iErrCode, zMsg)) 2126 } 2127 } 2128 2129 func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { 2130 bp := tls.Alloc(24) 2131 defer tls.Free(24) 2132 2133 var ap va_list 2134 _ = ap 2135 var zSql uintptr 2136 var rc int32 2137 *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) 2138 ap = va 2139 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2140 _ = ap 2141 rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0)) 2142 if rc != SQLITE_OK { 2143 sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 2144 fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql)) 2145 } 2146 sqlite3.Xsqlite3_free(tls, zSql) 2147 return *(*uintptr)(unsafe.Pointer(bp + 16)) 2148 } 2149 2150 func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) { 2151 bp := tls.Alloc(16) 2152 defer tls.Free(16) 2153 2154 var ap va_list 2155 _ = ap 2156 var zSql uintptr 2157 var rc int32 2158 ap = va 2159 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2160 _ = ap 2161 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) 2162 if rc != SQLITE_OK { 2163 fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql)) 2164 } 2165 sqlite3.Xsqlite3_free(tls, zSql) 2166 } 2167 2168 func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 { 2169 var ap va_list 2170 _ = ap 2171 var zSql uintptr 2172 var rc int32 2173 ap = va 2174 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2175 _ = ap 2176 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) 2177 sqlite3.Xsqlite3_free(tls, zSql) 2178 return rc 2179 } 2180 2181 type String1 = struct { 2182 z uintptr 2183 n int32 2184 nAlloc int32 2185 } 2186 2187 type String = String1 2188 2189 func stringFree(tls *libc.TLS, p uintptr) { 2190 if (*String)(unsafe.Pointer(p)).z != 0 { 2191 sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z) 2192 } 2193 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(String{}))) 2194 } 2195 2196 func stringAppend(tls *libc.TLS, p uintptr, z uintptr, n int32) { 2197 if n < 0 { 2198 n = int32(libc.Xstrlen(tls, z)) 2199 } 2200 if (*String)(unsafe.Pointer(p)).n+n >= (*String)(unsafe.Pointer(p)).nAlloc { 2201 var nAlloc int32 = (*String)(unsafe.Pointer(p)).nAlloc*2 + n + 100 2202 var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc) 2203 if zNew == uintptr(0) { 2204 fatalError(tls, ts+129, 0) 2205 } 2206 (*String)(unsafe.Pointer(p)).z = zNew 2207 (*String)(unsafe.Pointer(p)).nAlloc = nAlloc 2208 } 2209 libc.Xmemcpy(tls, (*String)(unsafe.Pointer(p)).z+uintptr((*String)(unsafe.Pointer(p)).n), z, uint64(n)) 2210 *(*int32)(unsafe.Pointer(p + 8)) += n 2211 *(*uint8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = uint8(0) 2212 } 2213 2214 func stringReset(tls *libc.TLS, p uintptr) { 2215 if (*String)(unsafe.Pointer(p)).z == uintptr(0) { 2216 stringAppend(tls, p, ts+143, 1) 2217 } 2218 (*String)(unsafe.Pointer(p)).n = 0 2219 *(*uint8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z)) = uint8(0) 2220 } 2221 2222 func stringAppendTerm(tls *libc.TLS, p uintptr, z uintptr) { 2223 var i int32 2224 if (*String)(unsafe.Pointer(p)).n != 0 { 2225 stringAppend(tls, p, ts+143, 1) 2226 } 2227 if z == uintptr(0) { 2228 stringAppend(tls, p, ts+145, 3) 2229 return 2230 } 2231 for i = 0; *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 && !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))*2)))&int32(_ISspace) != 0); i++ { 2232 } 2233 if i > 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == 0 { 2234 stringAppend(tls, p, z, i) 2235 return 2236 } 2237 stringAppend(tls, p, ts+149, 1) 2238 for *(*uint8)(unsafe.Pointer(z)) != 0 { 2239 for i = 0; *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) != '\''; i++ { 2240 } 2241 if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 { 2242 stringAppend(tls, p, z, i+1) 2243 stringAppend(tls, p, ts+149, 1) 2244 z += uintptr(i + 1) 2245 } else { 2246 stringAppend(tls, p, z, i) 2247 break 2248 } 2249 } 2250 stringAppend(tls, p, ts+149, 1) 2251 } 2252 2253 func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 { 2254 var p uintptr = pCData 2255 var i int32 2256 _ = azCol 2257 for i = 0; i < argc; i++ { 2258 stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) 2259 } 2260 return 0 2261 } 2262 2263 func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 { 2264 bp := tls.Alloc(46) 2265 defer tls.Free(46) 2266 2267 var ap va_list 2268 _ = ap 2269 var zSql uintptr 2270 var rc int32 2271 *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) 2272 ap = va 2273 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2274 _ = ap 2275 2276 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct { 2277 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2278 }{evalCallback})), p, bp+8) 2279 sqlite3.Xsqlite3_free(tls, zSql) 2280 if rc != 0 { 2281 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+16, ts+151, libc.VaList(bp, rc)) 2282 stringAppendTerm(tls, p, bp+16) 2283 if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { 2284 stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) 2285 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) 2286 } 2287 } 2288 return rc 2289 } 2290 2291 func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { 2292 bp := tls.Alloc(24) 2293 defer tls.Free(24) 2294 2295 var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context) 2296 var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) 2297 2298 *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) 2299 var rc int32 2300 _ = argc 2301 libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(String{}))) 2302 rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { 2303 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2304 }{evalCallback})), bp, bp+16) 2305 if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { 2306 sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 16)), -1) 2307 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 2308 } else if rc != 0 { 2309 sqlite3.Xsqlite3_result_error_code(tls, context, rc) 2310 } else { 2311 sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp)).z, -1, libc.UintptrFromInt32(-1)) 2312 } 2313 stringFree(tls, bp) 2314 } 2315 2316 func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 { 2317 bp := tls.Alloc(80) 2318 defer tls.Free(80) 2319 2320 var pStmt uintptr = uintptr(0) 2321 var taskId int32 2322 var rc int32 2323 var totalTime int32 = 0 2324 2325 *(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0) 2326 g.iTimeout = 0 2327 for 1 != 0 { 2328 rc = trySql(tls, ts+161, 0) 2329 if rc == SQLITE_BUSY { 2330 sqlite3.Xsqlite3_sleep(tls, 10) 2331 totalTime = totalTime + 10 2332 continue 2333 } 2334 if rc != SQLITE_OK { 2335 fatalError(tls, ts+177, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2336 } 2337 if g.nError != 0 || g.nTest != 0 { 2338 runSql(tls, ts+196, 2339 libc.VaList(bp+8, g.nError, g.nTest)) 2340 g.nError = 0 2341 g.nTest = 0 2342 } 2343 pStmt = prepareSql(tls, ts+249, libc.VaList(bp+24, iClient)) 2344 rc = sqlite3.Xsqlite3_step(tls, pStmt) 2345 sqlite3.Xsqlite3_finalize(tls, pStmt) 2346 if rc == SQLITE_ROW { 2347 runSql(tls, ts+295, libc.VaList(bp+32, iClient)) 2348 g.iTimeout = DEFAULT_TIMEOUT 2349 runSql(tls, ts+326, 0) 2350 return SQLITE_DONE 2351 } 2352 pStmt = prepareSql(tls, 2353 ts+346, libc.VaList(bp+40, iClient)) 2354 rc = sqlite3.Xsqlite3_step(tls, pStmt) 2355 if rc == SQLITE_ROW { 2356 var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0) 2357 *(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, n+1) 2358 libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0)) 2359 *(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1)) 2360 *(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2))) 2361 sqlite3.Xsqlite3_finalize(tls, pStmt) 2362 runSql(tls, 2363 ts+441, libc.VaList(bp+56, taskId)) 2364 g.iTimeout = DEFAULT_TIMEOUT 2365 runSql(tls, ts+326, 0) 2366 return SQLITE_OK 2367 } 2368 sqlite3.Xsqlite3_finalize(tls, pStmt) 2369 if rc == SQLITE_DONE { 2370 if totalTime > 3000000 { 2371 errorMessage(tls, ts+524, 0) 2372 runSql(tls, ts+575, libc.VaList(bp+64, iClient)) 2373 sqlite3.Xsqlite3_close(tls, g.db) 2374 libc.Xexit(tls, 1) 2375 } 2376 for trySql(tls, ts+615, 0) == SQLITE_BUSY { 2377 sqlite3.Xsqlite3_sleep(tls, 10) 2378 totalTime = totalTime + 10 2379 } 2380 sqlite3.Xsqlite3_sleep(tls, 100) 2381 totalTime = totalTime + 100 2382 continue 2383 } 2384 fatalError(tls, ts+438, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2385 } 2386 g.iTimeout = DEFAULT_TIMEOUT 2387 return int32(0) 2388 } 2389 2390 func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 { 2391 bp := tls.Alloc(16) 2392 defer tls.Free(16) 2393 2394 runSql(tls, 2395 ts+622, libc.VaList(bp, taskId)) 2396 if bShutdown != 0 { 2397 runSql(tls, ts+295, libc.VaList(bp+8, iClient)) 2398 } 2399 return SQLITE_OK 2400 } 2401 2402 func startClient(tls *libc.TLS, iClient int32) { 2403 bp := tls.Alloc(96) 2404 defer tls.Free(96) 2405 2406 runSql(tls, ts+703, libc.VaList(bp, iClient)) 2407 if sqlite3.Xsqlite3_changes(tls, g.db) != 0 { 2408 var zSys uintptr 2409 var rc int32 2410 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+745, 2411 libc.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace)) 2412 if g.bSqlTrace != 0 { 2413 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+776, libc.VaList(bp+40, zSys)) 2414 } 2415 if g.bSync != 0 { 2416 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+790, libc.VaList(bp+48, zSys)) 2417 } 2418 if g.zVfs != 0 { 2419 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+800, libc.VaList(bp+56, zSys, g.zVfs)) 2420 } 2421 if g.iTrace >= 2 { 2422 logMessage(tls, ts+814, libc.VaList(bp+72, zSys)) 2423 } 2424 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+827, libc.VaList(bp+80, zSys)) 2425 rc = libc.Xsystem(tls, zSys) 2426 if rc != 0 { 2427 errorMessage(tls, ts+832, libc.VaList(bp+88, rc)) 2428 } 2429 sqlite3.Xsqlite3_free(tls, zSys) 2430 } 2431 } 2432 2433 func readFile(tls *libc.TLS, zFilename uintptr) uintptr { 2434 bp := tls.Alloc(8) 2435 defer tls.Free(8) 2436 2437 var in uintptr = libc.Xfopen(tls, zFilename, ts+866) 2438 var sz int64 2439 var z uintptr 2440 if in == uintptr(0) { 2441 fatalError(tls, ts+869, libc.VaList(bp, zFilename)) 2442 } 2443 libc.Xfseek(tls, in, int64(0), SEEK_END) 2444 sz = libc.Xftell(tls, in) 2445 libc.Xrewind(tls, in) 2446 z = sqlite3.Xsqlite3_malloc(tls, int32(sz+int64(1))) 2447 sz = int64(libc.Xfread(tls, z, uint64(1), uint64(sz), in)) 2448 *(*uint8)(unsafe.Pointer(z + uintptr(sz))) = uint8(0) 2449 libc.Xfclose(tls, in) 2450 return z 2451 } 2452 2453 func tokenLength(tls *libc.TLS, z uintptr, pnLine uintptr) int32 { 2454 var n int32 = 0 2455 if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z))))*2)))&int32(_ISspace) != 0 || int32(*(*uint8)(unsafe.Pointer(z))) == '/' && int32(*(*uint8)(unsafe.Pointer(z + 1))) == '*' { 2456 var inC int32 = 0 2457 var c int32 2458 if int32(*(*uint8)(unsafe.Pointer(z))) == '/' { 2459 inC = 1 2460 n = 2 2461 } 2462 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1)))))) != 0 { 2463 if c == '\n' { 2464 *(*int32)(unsafe.Pointer(pnLine))++ 2465 } 2466 if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(uint8(c)))*2)))&int32(_ISspace) != 0 { 2467 continue 2468 } 2469 if inC != 0 && c == '*' && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '/' { 2470 n++ 2471 inC = 0 2472 } else if !(inC != 0) && c == '/' && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '*' { 2473 n++ 2474 inC = 1 2475 } else if !(inC != 0) { 2476 break 2477 } 2478 } 2479 n-- 2480 } else if int32(*(*uint8)(unsafe.Pointer(z))) == '-' && int32(*(*uint8)(unsafe.Pointer(z + 1))) == '-' { 2481 for n = 2; *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) != '\n'; n++ { 2482 } 2483 if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { 2484 *(*int32)(unsafe.Pointer(pnLine))++ 2485 n++ 2486 } 2487 } else if int32(*(*uint8)(unsafe.Pointer(z))) == '"' || int32(*(*uint8)(unsafe.Pointer(z))) == '\'' { 2488 var delim int32 = int32(*(*uint8)(unsafe.Pointer(z))) 2489 for n = 1; *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ { 2490 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '\n' { 2491 *(*int32)(unsafe.Pointer(pnLine))++ 2492 } 2493 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == delim { 2494 n++ 2495 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+1)))) != delim { 2496 break 2497 } 2498 } 2499 } 2500 } else { 2501 var c int32 2502 for n = 1; libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(n))))) != 0 && !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(uint8(c)))*2)))&int32(_ISspace) != 0) && c != '"' && c != '\'' && c != ';'; n++ { 2503 } 2504 } 2505 return n 2506 } 2507 2508 func extractToken(tls *libc.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 { 2509 var i int32 2510 if nIn <= 0 { 2511 *(*uint8)(unsafe.Pointer(zOut)) = uint8(0) 2512 return 0 2513 } 2514 for i = 0; i < nIn && i < nOut-1 && !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))))*2)))&int32(_ISspace) != 0); i++ { 2515 *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) = *(*uint8)(unsafe.Pointer(zIn + uintptr(i))) 2516 } 2517 *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) = uint8(0) 2518 return i 2519 } 2520 2521 func findEnd(tls *libc.TLS, z uintptr, pnLine uintptr) int32 { 2522 var n int32 = 0 2523 for *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 && (libc.Xstrncmp(tls, z+uintptr(n), ts+898, uint64(5)) != 0 || !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+5)))))*2)))&int32(_ISspace) != 0)) { 2524 n = n + tokenLength(tls, z+uintptr(n), pnLine) 2525 } 2526 return n 2527 } 2528 2529 func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 { 2530 var n int32 = 0 2531 for *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { 2532 var len int32 = tokenLength(tls, z+uintptr(n), pnLine) 2533 if libc.Xstrncmp(tls, z+uintptr(n), ts+904, uint64(7)) == 0 && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+7)))))*2)))&int32(_ISspace) != 0 || 2534 stopAtElse != 0 && libc.Xstrncmp(tls, z+uintptr(n), ts+912, uint64(6)) == 0 && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+6)))))*2)))&int32(_ISspace) != 0 { 2535 return n + len 2536 } 2537 if libc.Xstrncmp(tls, z+uintptr(n), ts+919, uint64(4)) == 0 && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+4)))))*2)))&int32(_ISspace) != 0 { 2538 var skip int32 = findEndif(tls, z+uintptr(n)+uintptr(len), 0, pnLine) 2539 n = n + (skip + len) 2540 } else { 2541 n = n + len 2542 } 2543 } 2544 return n 2545 } 2546 2547 func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) { 2548 bp := tls.Alloc(32) 2549 defer tls.Free(32) 2550 2551 var pStmt uintptr 2552 var rc int32 2553 if iClient > 0 { 2554 pStmt = prepareSql(tls, 2555 ts+924, 2556 libc.VaList(bp, iClient)) 2557 } else { 2558 pStmt = prepareSql(tls, 2559 ts+1020, 0) 2560 } 2561 g.iTimeout = 0 2562 for (libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY || rc == SQLITE_ROW) && 2563 iTimeout > 0 { 2564 sqlite3.Xsqlite3_reset(tls, pStmt) 2565 sqlite3.Xsqlite3_sleep(tls, 50) 2566 iTimeout = iTimeout - 50 2567 } 2568 sqlite3.Xsqlite3_finalize(tls, pStmt) 2569 g.iTimeout = DEFAULT_TIMEOUT 2570 if rc != SQLITE_DONE { 2571 if zErrPrefix == uintptr(0) { 2572 zErrPrefix = ts + 1101 2573 } 2574 if iClient > 0 { 2575 errorMessage(tls, ts+1102, libc.VaList(bp+8, zErrPrefix, iClient)) 2576 } else { 2577 errorMessage(tls, ts+1134, libc.VaList(bp+24, zErrPrefix)) 2578 } 2579 } 2580 } 2581 2582 func filenameTail(tls *libc.TLS, z uintptr) uintptr { 2583 var i int32 2584 var j int32 2585 for i = libc.AssignInt32(&j, 0); *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ { 2586 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == '/' { 2587 j = i + 1 2588 } 2589 } 2590 return z + uintptr(j) 2591 } 2592 2593 func booleanValue(tls *libc.TLS, zArg uintptr) int32 { 2594 bp := tls.Alloc(8) 2595 defer tls.Free(8) 2596 2597 var i int32 2598 if zArg == uintptr(0) { 2599 return 0 2600 } 2601 for i = 0; int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'; i++ { 2602 } 2603 if i > 0 && int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) == 0 { 2604 return libc.Xatoi(tls, zArg) 2605 } 2606 if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1168) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1171) == 0 { 2607 return 1 2608 } 2609 if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1175) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1179) == 0 { 2610 return 0 2611 } 2612 errorMessage(tls, ts+1182, libc.VaList(bp, zArg)) 2613 return 0 2614 } 2615 2616 func test_breakpoint(tls *libc.TLS) { 2617 atomic.AddInt32(&cnt, 1) 2618 } 2619 2620 var cnt int32 = 0 2621 2622 func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) { 2623 bp := tls.Alloc(1610) 2624 defer tls.Free(1610) 2625 2626 *(*int32)(unsafe.Pointer(bp + 376)) = 1 2627 var prevLine int32 = 1 2628 var ii int32 = 0 2629 var iBegin int32 = 0 2630 var n int32 2631 var c int32 2632 var j int32 2633 var len int32 2634 var nArg int32 2635 2636 libc.Xmemset(tls, bp+360, 0, uint64(unsafe.Sizeof(String{}))) 2637 stringReset(tls, bp+360) 2638 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii))))) != 0 { 2639 prevLine = *(*int32)(unsafe.Pointer(bp + 376)) 2640 len = tokenLength(tls, zScript+uintptr(ii), bp+376) 2641 if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(uint8(c)))*2)))&int32(_ISspace) != 0 || c == '/' && int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+1)))) == '*' { 2642 ii = ii + len 2643 continue 2644 } 2645 if c != '-' || int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+1)))) != '-' || !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+2)))))*2)))&int32(_ISalpha) != 0) { 2646 ii = ii + len 2647 continue 2648 } 2649 2650 if ii > iBegin { 2651 var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp, ii-iBegin, zScript+uintptr(iBegin))) 2652 evalSql(tls, bp+360, zSql, 0) 2653 sqlite3.Xsqlite3_free(tls, zSql) 2654 iBegin = ii + len 2655 } 2656 2657 if g.iTrace >= 2 { 2658 logMessage(tls, ts+1204, libc.VaList(bp+16, len, zScript+uintptr(ii))) 2659 } 2660 n = extractToken(tls, zScript+uintptr(ii)+uintptr(2), len-2, bp+380, int32(unsafe.Sizeof([30]uint8{}))) 2661 for nArg = 0; n < len-2 && nArg < MX_ARG; nArg++ { 2662 for n < len-2 && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+2+n)))))*2)))&int32(_ISspace) != 0 { 2663 n++ 2664 } 2665 if n >= len-2 { 2666 break 2667 } 2668 n = n + extractToken(tls, zScript+uintptr(ii)+uintptr(2)+uintptr(n), len-2-n, 2669 bp+410+uintptr(nArg)*100, int32(unsafe.Sizeof([100]uint8{}))) 2670 } 2671 for j = nArg; j < MX_ARG; j++ { 2672 *(*uint8)(unsafe.Pointer(bp + 410 + uintptr(libc.PostIncInt32(&j, 1))*100)) = uint8(0) 2673 } 2674 2675 if libc.Xstrcmp(tls, bp+380, ts+1209) == 0 { 2676 sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, bp+410)) 2677 } else if libc.Xstrcmp(tls, bp+380, ts+1215) == 0 { 2678 var rc int32 = libc.Xatoi(tls, bp+410) 2679 finishScript(tls, iClient, taskId, 1) 2680 if rc == 0 { 2681 sqlite3.Xsqlite3_close(tls, g.db) 2682 } 2683 libc.Xexit(tls, rc) 2684 } else if libc.Xstrcmp(tls, bp+380, ts+1220) == 0 { 2685 if g.iTrace == 1 { 2686 logMessage(tls, ts+1204, libc.VaList(bp+32, len-1, zScript+uintptr(ii))) 2687 } 2688 stringReset(tls, bp+360) 2689 } else if libc.Xstrcmp(tls, bp+380, ts+1229) == 0 && iClient > 0 { 2690 finishScript(tls, iClient, taskId, 1) 2691 } else if libc.Xstrcmp(tls, bp+380, ts+1236) == 0 { 2692 stringReset(tls, bp+360) 2693 } else if libc.Xstrcmp(tls, bp+380, ts+1242) == 0 { 2694 var jj int32 2695 var zAns uintptr = zScript + uintptr(ii) 2696 for jj = 7; jj < len-1 && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zAns + uintptr(jj)))))*2)))&int32(_ISspace) != 0; jj++ { 2697 } 2698 zAns += uintptr(jj) 2699 if len-jj-1 != (*String)(unsafe.Pointer(bp+360)).n || libc.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+360)).z, zAns, uint64(len-jj-1)) != 0 { 2700 errorMessage(tls, ts+1248, 2701 libc.VaList(bp+48, prevLine, zFilename, len-jj-1, zAns, (*String)(unsafe.Pointer(bp+360)).z)) 2702 } 2703 g.nTest++ 2704 stringReset(tls, bp+360) 2705 } else if libc.Xstrcmp(tls, bp+380, ts+1293) == 0 || libc.Xstrcmp(tls, bp+380, ts+1298) == 0 { 2706 var jj int32 2707 var zAns uintptr = zScript + uintptr(ii) 2708 var zCopy uintptr 2709 var isGlob int32 = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(bp + 380))) == 'g') 2710 for jj = 9 - 3*isGlob; jj < len-1 && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zAns + uintptr(jj)))))*2)))&int32(_ISspace) != 0; jj++ { 2711 } 2712 zAns += uintptr(jj) 2713 zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+88, len-jj-1, zAns)) 2714 if libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360)).z) == 0)^isGlob != 0 { 2715 errorMessage(tls, ts+1306, 2716 libc.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360)).z)) 2717 } 2718 sqlite3.Xsqlite3_free(tls, zCopy) 2719 g.nTest++ 2720 stringReset(tls, bp+360) 2721 } else if libc.Xstrcmp(tls, bp+380, ts+1349) == 0 { 2722 logMessage(tls, ts+438, libc.VaList(bp+136, (*String)(unsafe.Pointer(bp+360)).z)) 2723 } else if libc.Xstrcmp(tls, bp+380, ts+1356) == 0 { 2724 var zNewFile uintptr 2725 var zNewScript uintptr 2726 var zToDel uintptr = uintptr(0) 2727 zNewFile = bp + 410 2728 if !(int32(*(*uint8)(unsafe.Pointer(zNewFile))) == '/') { 2729 var k int32 2730 for k = int32(libc.Xstrlen(tls, zFilename)) - 1; k >= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFilename + uintptr(k)))) == '/'); k-- { 2731 } 2732 if k > 0 { 2733 zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1363, libc.VaList(bp+144, k, zFilename, zNewFile))) 2734 } 2735 } 2736 zNewScript = readFile(tls, zNewFile) 2737 if g.iTrace != 0 { 2738 logMessage(tls, ts+1371, libc.VaList(bp+168, zNewFile)) 2739 } 2740 runScript(tls, 0, 0, zNewScript, zNewFile) 2741 sqlite3.Xsqlite3_free(tls, zNewScript) 2742 if g.iTrace != 0 { 2743 logMessage(tls, ts+1390, libc.VaList(bp+176, zNewFile)) 2744 } 2745 sqlite3.Xsqlite3_free(tls, zToDel) 2746 } else if libc.Xstrcmp(tls, bp+380, ts+1407) == 0 { 2747 var jj int32 2748 for jj = 7; jj < len && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+jj)))))*2)))&int32(_ISspace) != 0; jj++ { 2749 } 2750 logMessage(tls, ts+1204, libc.VaList(bp+184, len-jj, zScript+uintptr(ii)+uintptr(jj))) 2751 } else if libc.Xstrcmp(tls, bp+380, ts+1413) == 0 { 2752 var jj int32 2753 var rc int32 2754 var pStmt uintptr 2755 for jj = 4; jj < len && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+jj)))))*2)))&int32(_ISspace) != 0; jj++ { 2756 } 2757 pStmt = prepareSql(tls, ts+1416, libc.VaList(bp+200, len-jj, zScript+uintptr(ii)+uintptr(jj))) 2758 rc = sqlite3.Xsqlite3_step(tls, pStmt) 2759 if rc != SQLITE_ROW || sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0 { 2760 ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 1, bp+376) 2761 } 2762 sqlite3.Xsqlite3_finalize(tls, pStmt) 2763 } else if libc.Xstrcmp(tls, bp+380, ts+1428) == 0 { 2764 ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 0, bp+376) 2765 } else if libc.Xstrcmp(tls, bp+380, ts+1433) == 0 { 2766 } else if libc.Xstrcmp(tls, bp+380, ts+1439) == 0 && iClient == 0 { 2767 var iNewClient int32 = libc.Xatoi(tls, bp+410) 2768 if iNewClient > 0 { 2769 startClient(tls, iNewClient) 2770 } 2771 } else if libc.Xstrcmp(tls, bp+380, ts+1445) == 0 && iClient == 0 { 2772 var iTimeout int32 2773 if nArg >= 2 { 2774 iTimeout = libc.Xatoi(tls, bp+410+1*100) 2775 } else { 2776 iTimeout = DEFAULT_TIMEOUT 2777 } 2778 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]uint8{})), bp+610, ts+1450, 2779 libc.VaList(bp+216, prevLine, zFilename)) 2780 waitForClient(tls, libc.Xatoi(tls, bp+410), iTimeout, bp+610) 2781 } else if libc.Xstrcmp(tls, bp+380, ts+1465) == 0 && iClient == 0 { 2782 var iTarget int32 = libc.Xatoi(tls, bp+410) 2783 var iEnd int32 2784 var zTask uintptr 2785 var zTName uintptr 2786 iEnd = findEnd(tls, zScript+uintptr(ii)+uintptr(len), bp+376) 2787 if iTarget < 0 { 2788 errorMessage(tls, ts+1470, 2789 libc.VaList(bp+232, prevLine, zFilename, iTarget)) 2790 } else { 2791 zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+256, iEnd, zScript+uintptr(ii)+uintptr(len))) 2792 if nArg > 1 { 2793 zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+272, bp+410+1*100)) 2794 } else { 2795 zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1507, libc.VaList(bp+280, filenameTail(tls, zFilename), prevLine)) 2796 } 2797 startClient(tls, iTarget) 2798 runSql(tls, 2799 ts+1513, libc.VaList(bp+296, iTarget, zTask, zTName)) 2800 sqlite3.Xsqlite3_free(tls, zTask) 2801 sqlite3.Xsqlite3_free(tls, zTName) 2802 } 2803 iEnd = iEnd + tokenLength(tls, zScript+uintptr(ii)+uintptr(len)+uintptr(iEnd), bp+376) 2804 len = len + iEnd 2805 iBegin = ii + len 2806 } else if libc.Xstrcmp(tls, bp+380, ts+1569) == 0 { 2807 test_breakpoint(tls) 2808 } else if libc.Xstrcmp(tls, bp+380, ts+1580) == 0 { 2809 g.bIgnoreSqlErrors = func() int32 { 2810 if nArg >= 1 { 2811 return libc.BoolInt32(!(booleanValue(tls, bp+410) != 0)) 2812 } 2813 return 1 2814 }() 2815 } else { 2816 errorMessage(tls, ts+1596, 2817 libc.VaList(bp+320, prevLine, zFilename, bp+380)) 2818 } 2819 ii = ii + len 2820 } 2821 if iBegin < ii { 2822 var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+344, ii-iBegin, zScript+uintptr(iBegin))) 2823 runSql(tls, zSql, 0) 2824 sqlite3.Xsqlite3_free(tls, zSql) 2825 } 2826 stringFree(tls, bp+360) 2827 } 2828 2829 func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr { 2830 bp := tls.Alloc(8) 2831 defer tls.Free(8) 2832 2833 var i int32 2834 var j int32 2835 var zReturn uintptr = uintptr(0) 2836 var nArg int32 = *(*int32)(unsafe.Pointer(pnArg)) 2837 2838 for i = 0; i < nArg; i++ { 2839 var z uintptr 2840 if i+hasArg >= nArg { 2841 break 2842 } 2843 z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)) 2844 if int32(*(*uint8)(unsafe.Pointer(z))) != '-' { 2845 continue 2846 } 2847 z++ 2848 if int32(*(*uint8)(unsafe.Pointer(z))) == '-' { 2849 if int32(*(*uint8)(unsafe.Pointer(z + 1))) == 0 { 2850 break 2851 } 2852 z++ 2853 } 2854 if libc.Xstrcmp(tls, z, zOption) == 0 { 2855 if hasArg != 0 && i == nArg-1 { 2856 fatalError(tls, ts+1632, libc.VaList(bp, z)) 2857 } 2858 if hasArg != 0 { 2859 zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8)) 2860 } else { 2861 zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)) 2862 } 2863 j = i + 1 + libc.Bool32(hasArg != 0) 2864 for j < nArg { 2865 *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&i, 1))*8)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&j, 1))*8)) 2866 } 2867 *(*int32)(unsafe.Pointer(pnArg)) = i 2868 return zReturn 2869 } 2870 } 2871 return zReturn 2872 } 2873 2874 func usage(tls *libc.TLS, argv0 uintptr) { 2875 bp := tls.Alloc(8) 2876 defer tls.Free(8) 2877 2878 var i int32 2879 var zTail uintptr = argv0 2880 for i = 0; *(*uint8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ { 2881 if int32(*(*uint8)(unsafe.Pointer(argv0 + uintptr(i)))) == '/' { 2882 zTail = argv0 + uintptr(i) + uintptr(1) 2883 } 2884 } 2885 libc.Xfprintf(tls, libc.Xstderr, ts+1680, libc.VaList(bp, zTail)) 2886 libc.Xfprintf(tls, libc.Xstderr, 2887 ts+1719, 0) 2888 libc.Xexit(tls, 1) 2889 } 2890 2891 func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) { 2892 bp := tls.Alloc(16) 2893 defer tls.Free(16) 2894 2895 var i int32 2896 libc.Xfprintf(tls, libc.Xstderr, ts+2291, libc.VaList(bp, argv0)) 2897 for i = 0; i < nArg; i++ { 2898 libc.Xfprintf(tls, libc.Xstderr, ts+2319, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)))) 2899 } 2900 libc.Xfprintf(tls, libc.Xstderr, ts+2323, 0) 2901 libc.Xexit(tls, 1) 2902 } 2903 2904 func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { 2905 bp := tls.Alloc(264) 2906 defer tls.Free(264) 2907 2908 var zClient uintptr 2909 var iClient int32 2910 2911 var i int32 2912 var openFlags int32 = SQLITE_OPEN_READWRITE 2913 var rc int32 2914 2915 var zTrace uintptr 2916 var zCOption uintptr 2917 var zJMode uintptr 2918 var zNRep uintptr 2919 var nRep int32 = 1 2920 var iRep int32 2921 var iTmout int32 = 0 2922 var zTmout uintptr 2923 2924 g.argv0 = *(*uintptr)(unsafe.Pointer(argv)) 2925 g.iTrace = 1 2926 if argc < 2 { 2927 usage(tls, *(*uintptr)(unsafe.Pointer(argv))) 2928 } 2929 g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + 1*8)) 2930 if strglob(tls, ts+2325, g.zDbFile) != 0 { 2931 usage(tls, *(*uintptr)(unsafe.Pointer(argv))) 2932 } 2933 if libc.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2332) != 0 { 2934 libc.Xfprintf(tls, libc.Xstderr, 2935 ts+2417, 2936 libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2332)) 2937 libc.Xexit(tls, 1) 2938 } 2939 *(*int32)(unsafe.Pointer(bp + 232)) = argc - 2 2940 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]uint8{})), uintptr(unsafe.Pointer(&g))+64, ts+2477, libc.VaList(bp+16, libc.Xgetpid(tls))) 2941 zJMode = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2489, 1) 2942 zNRep = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2501, 1) 2943 if zNRep != 0 { 2944 nRep = libc.Xatoi(tls, zNRep) 2945 } 2946 if nRep < 1 { 2947 nRep = 1 2948 } 2949 g.zVfs = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2508, 1) 2950 zClient = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2512, 1) 2951 g.zErrLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2519, 1) 2952 g.zLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2526, 1) 2953 zTrace = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2530, 1) 2954 if zTrace != 0 { 2955 g.iTrace = libc.Xatoi(tls, zTrace) 2956 } 2957 if findOption(tls, argv+uintptr(2)*8, bp+232, ts+2536, 0) != uintptr(0) { 2958 g.iTrace = 0 2959 } 2960 zTmout = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2542, 1) 2961 if zTmout != 0 { 2962 iTmout = libc.Xatoi(tls, zTmout) 2963 } 2964 g.bSqlTrace = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2550, 0) != uintptr(0)) 2965 g.bSync = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2559, 0) != uintptr(0)) 2966 if g.zErrLog != 0 { 2967 g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2564) 2968 } else { 2969 g.pErrLog = libc.Xstderr 2970 } 2971 if g.zLog != 0 { 2972 g.pLog = libc.Xfopen(tls, g.zLog, ts+2564) 2973 } else { 2974 g.pLog = libc.Xstdout 2975 } 2976 2977 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct { 2978 f func(*libc.TLS, uintptr, int32, uintptr) 2979 }{sqlErrorCallback})), 0)) 2980 if zClient != 0 { 2981 iClient = libc.Xatoi(tls, zClient) 2982 if iClient < 1 { 2983 fatalError(tls, ts+2566, libc.VaList(bp+40, iClient)) 2984 } 2985 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]uint8{})), uintptr(unsafe.Pointer(&g))+64, ts+2593, 2986 libc.VaList(bp+48, libc.Xgetpid(tls), iClient)) 2987 } else { 2988 var nTry int32 = 0 2989 if g.iTrace > 0 { 2990 libc.Xprintf(tls, ts+2609, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv)))) 2991 for i = 1; i < argc; i++ { 2992 libc.Xprintf(tls, ts+2319, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 2993 } 2994 libc.Xprintf(tls, ts+2323, 0) 2995 libc.Xprintf(tls, ts+2619, 0) 2996 for i = 0; libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i)) != uintptr(0); i++ { 2997 libc.Xprintf(tls, ts+2724, libc.VaList(bp+80, zCOption)) 2998 } 2999 libc.Xfflush(tls, libc.Xstdout) 3000 } 3001 iClient = 0 3002 for __ccgo := true; __ccgo; __ccgo = rc != 0 && libc.PreIncInt32(&nTry, 1) < 60 && sqlite3.Xsqlite3_sleep(tls, 1000) > 0 { 3003 if nTry%5 == 4 { 3004 libc.Xprintf(tls, ts+2737, 3005 libc.VaList(bp+88, func() uintptr { 3006 if nTry > 5 { 3007 return ts + 2766 3008 } 3009 return ts + 1101 3010 }(), g.zDbFile)) 3011 } 3012 rc = libc.Xunlink(tls, g.zDbFile) 3013 if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { 3014 rc = 0 3015 } 3016 } 3017 if rc != 0 { 3018 fatalError(tls, ts+2773, 3019 libc.VaList(bp+104, g.zDbFile, nTry)) 3020 } 3021 openFlags = openFlags | SQLITE_OPEN_CREATE 3022 } 3023 rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, uintptr(unsafe.Pointer(&g))+24, openFlags, g.zVfs) 3024 if rc != 0 { 3025 fatalError(tls, ts+2814, libc.VaList(bp+120, g.zDbFile)) 3026 } 3027 if iTmout > 0 { 3028 sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout) 3029 } 3030 3031 if zJMode != 0 { 3032 runSql(tls, ts+2831, libc.VaList(bp+128, zJMode)) 3033 } 3034 if !(g.bSync != 0) { 3035 trySql(tls, ts+2855, 0) 3036 } 3037 sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1) 3038 sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3039 f func(*libc.TLS, uintptr, int32) int32 3040 }{busyHandler})), uintptr(0)) 3041 sqlite3.Xsqlite3_create_function(tls, g.db, ts+2878, 0, SQLITE_UTF8, uintptr(0), 3042 *(*uintptr)(unsafe.Pointer(&struct { 3043 f func(*libc.TLS, uintptr, int32, uintptr) 3044 }{vfsNameFunc})), uintptr(0), uintptr(0)) 3045 sqlite3.Xsqlite3_create_function(tls, g.db, ts+2886, 1, SQLITE_UTF8, uintptr(0), 3046 *(*uintptr)(unsafe.Pointer(&struct { 3047 f func(*libc.TLS, uintptr, int32, uintptr) 3048 }{evalFunc})), uintptr(0), uintptr(0)) 3049 g.iTimeout = DEFAULT_TIMEOUT 3050 if g.bSqlTrace != 0 { 3051 sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3052 f func(*libc.TLS, uintptr, uintptr) 3053 }{sqlTraceCallback})), uintptr(0)) 3054 } 3055 if iClient > 0 { 3056 if *(*int32)(unsafe.Pointer(bp + 232)) > 0 { 3057 unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8) 3058 } 3059 if g.iTrace != 0 { 3060 logMessage(tls, ts+2891, 0) 3061 } 3062 for 1 != 0 { 3063 *(*uintptr)(unsafe.Pointer(bp + 256)) = uintptr(0) 3064 rc = startScript(tls, iClient, bp+240, bp+248, bp+256) 3065 if rc == SQLITE_DONE { 3066 break 3067 } 3068 if g.iTrace != 0 { 3069 logMessage(tls, ts+2904, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248)))) 3070 } 3071 runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(bp + 256))) 3072 if g.iTrace != 0 { 3073 logMessage(tls, ts+2918, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248)))) 3074 } 3075 finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), 0) 3076 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 256))) 3077 sqlite3.Xsqlite3_sleep(tls, 10) 3078 } 3079 if g.iTrace != 0 { 3080 logMessage(tls, ts+2930, 0) 3081 } 3082 } else { 3083 var pStmt uintptr 3084 var iTimeout int32 3085 if *(*int32)(unsafe.Pointer(bp + 232)) == 0 { 3086 fatalError(tls, ts+2941, 0) 3087 } 3088 if *(*int32)(unsafe.Pointer(bp + 232)) > 1 { 3089 unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8) 3090 } 3091 runSql(tls, 3092 ts+2965, 0) 3093 *(*uintptr)(unsafe.Pointer(bp + 240)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) 3094 for iRep = 1; iRep <= nRep; iRep++ { 3095 if g.iTrace != 0 { 3096 logMessage(tls, ts+3401, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) 3097 } 3098 runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(argv + 2*8))) 3099 if g.iTrace != 0 { 3100 logMessage(tls, ts+3429, libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) 3101 } 3102 } 3103 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 240))) 3104 waitForClient(tls, 0, 2000, ts+3455) 3105 trySql(tls, ts+3475, 0) 3106 sqlite3.Xsqlite3_sleep(tls, 10) 3107 g.iTimeout = 0 3108 iTimeout = 1000 3109 for (libc.AssignInt32(&rc, trySql(tls, ts+3504, 0)) == SQLITE_BUSY || 3110 rc == SQLITE_ROW) && iTimeout > 0 { 3111 sqlite3.Xsqlite3_sleep(tls, 10) 3112 iTimeout = iTimeout - 10 3113 } 3114 sqlite3.Xsqlite3_sleep(tls, 100) 3115 pStmt = prepareSql(tls, ts+3525, 0) 3116 iTimeout = 1000 3117 for libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY && iTimeout > 0 { 3118 sqlite3.Xsqlite3_sleep(tls, 10) 3119 iTimeout = iTimeout - 10 3120 } 3121 if rc == SQLITE_ROW { 3122 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 0) 3123 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 116)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 1) 3124 } 3125 sqlite3.Xsqlite3_finalize(tls, pStmt) 3126 } 3127 sqlite3.Xsqlite3_close(tls, g.db) 3128 maybeClose(tls, g.pLog) 3129 maybeClose(tls, g.pErrLog) 3130 if iClient == 0 { 3131 libc.Xprintf(tls, ts+3560, libc.VaList(bp+200, g.nError, g.nTest)) 3132 libc.Xprintf(tls, ts+3596, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv)))) 3133 for i = 1; i < argc; i++ { 3134 libc.Xprintf(tls, ts+2319, libc.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3135 } 3136 libc.Xprintf(tls, ts+2323, 0) 3137 } 3138 return libc.Bool32(g.nError > 0) 3139 } 3140 3141 var ts1 = "%s%.*s\n\x00%s:ERROR: \x00%s:FATAL: \x00UPDATE client SET wantHalt=1;\x00%s: \x00main\x00timeout after %dms\x00[%.*s]\x00(info) %s\x00(errcode=%d) %s\x00%s\n%s\n\x00out of memory\x00 \x00nil\x00'\x00error(%d)\x00BEGIN IMMEDIATE\x00in startScript: %s\x00UPDATE counters SET nError=nError+%d, nTest=nTest+%d\x00SELECT 1 FROM client WHERE id=%d AND wantHalt\x00DELETE FROM client WHERE id=%d\x00COMMIT TRANSACTION;\x00SELECT script, id, name FROM task WHERE client=%d AND starttime IS NULL ORDER BY id LIMIT 1\x00%s\x00UPDATE task SET starttime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00Waited over 3000 seconds with no work. Giving up.\x00DELETE FROM client WHERE id=%d; COMMIT;\x00COMMIT\x00UPDATE task SET endtime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00INSERT OR IGNORE INTO client VALUES(%d,0)\x00%s \"%s\" --client %d --trace %d\x00%z --sqltrace\x00%z --sync\x00%z --vfs \"%s\"\x00system('%q')\x00%z &\x00system() fails with error code %d\x00rb\x00cannot open \"%s\" for reading\x00--end\x00--endif\x00--else\x00--if\x00SELECT 1 FROM task WHERE client=%d AND client IN (SELECT id FROM client) AND endtime IS NULL\x00SELECT 1 FROM task WHERE client IN (SELECT id FROM client) AND endtime IS NULL\x00\x00%stimeout waiting for client %d\x00%stimeout waiting for all clients\x00on\x00yes\x00off\x00no\x00unknown boolean: [%s]\x00%.*s\x00sleep\x00exit\x00testcase\x00finish\x00reset\x00match\x00line %d of %s:\nExpected [%.*s]\n Got [%s]\x00glob\x00notglob\x00line %d of %s:\nExpected [%s]\n Got [%s]\x00output\x00source\x00%.*s/%s\x00begin script [%s]\n\x00end script [%s]\n\x00print\x00if\x00SELECT %.*s\x00else\x00endif\x00start\x00wait\x00line %d of %s\n\x00task\x00line %d of %s: bad client number: %d\x00%s:%d\x00INSERT INTO task(client,script,name) VALUES(%d,'%q',%Q)\x00breakpoint\x00show-sql-errors\x00line %d of %s: unknown command --%s\x00command-line option \"--%s\" requires an argument\x00Usage: %s DATABASE ?OPTIONS? ?SCRIPT?\n\x00Options:\n --errlog FILENAME Write errors to FILENAME\n --journalmode MODE Use MODE as the journal_mode\n --log FILENAME Log messages to FILENAME\n --quiet Suppress unnecessary output\n --vfs NAME Use NAME as the VFS\n --repeat N Repeat the test N times\n --sqltrace Enable SQL tracing\n --sync Enable synchronous disk writes\n --timeout MILLISEC Busy timeout is MILLISEC\n --trace BOOLEAN Enable or disable tracing\n\x00%s: unrecognized arguments:\x00 %s\x00\n\x00*.test\x002022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\x00SQLite library and header mismatch\nLibrary: %s\nHeader: %s\n\x00%05d.mptest\x00journalmode\x00repeat\x00vfs\x00client\x00errlog\x00log\x00trace\x00quiet\x00timeout\x00sqltrace\x00sync\x00a\x00illegal client number: %d\n\x00%05d.client%02d\x00BEGIN: %s\x00With SQLite 3.39.3 2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\n\x00-DSQLITE_%s\n\x00... %strying to unlink '%s'\n\x00still \x00unable to unlink '%s' after %d attempts\n\x00cannot open [%s]\x00PRAGMA journal_mode=%Q;\x00PRAGMA synchronous=OFF\x00vfsname\x00eval\x00start-client\x00begin %s (%d)\x00end %s (%d)\x00end-client\x00missing script filename\x00DROP TABLE IF EXISTS task;\nDROP TABLE IF EXISTS counters;\nDROP TABLE IF EXISTS client;\nCREATE TABLE task(\n id INTEGER PRIMARY KEY,\n name TEXT,\n client INTEGER,\n starttime DATE,\n endtime DATE,\n script TEXT\n);CREATE INDEX task_i1 ON task(client, starttime);\nCREATE INDEX task_i2 ON task(client, endtime);\nCREATE TABLE counters(nError,nTest);\nINSERT INTO counters VALUES(0,0);\nCREATE TABLE client(id INTEGER PRIMARY KEY, wantHalt);\n\x00begin script [%s] cycle %d\n\x00end script [%s] cycle %d\n\x00during shutdown...\n\x00UPDATE client SET wantHalt=1\x00SELECT 1 FROM client\x00SELECT nError, nTest FROM counters\x00Summary: %d errors out of %d tests\n\x00END: %s\x00" 3142 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data