gitlab.com/CoiaPrant/sqlite3@v1.19.1/internal/mptest/main_linux_ppc64le.go (about) 1 // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o internal/mptest/main_linux_ppc64le.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 = 58 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_ARCH_PPC = 1 706 X_ARCH_PPC64 = 1 707 X_ARCH_PPCGR = 1 708 X_ARCH_PPCSQ = 1 709 X_ARCH_PWR4 = 1 710 X_ARCH_PWR5 = 1 711 X_ARCH_PWR5X = 1 712 X_ARCH_PWR6 = 1 713 X_ARCH_PWR7 = 1 714 X_ARCH_PWR8 = 1 715 X_ASM_GENERIC_ERRNO_BASE_H = 0 716 X_ASM_GENERIC_ERRNO_H = 0 717 X_ASM_POWERPC_ERRNO_H = 0 718 X_ASSERT_H = 1 719 X_ATFILE_SOURCE = 1 720 X_BITS_BYTESWAP_H = 1 721 X_BITS_ENDIANNESS_H = 1 722 X_BITS_ENDIAN_H = 1 723 X_BITS_ERRNO_H = 1 724 X_BITS_FLOATN_COMMON_H = 0 725 X_BITS_FLOATN_H = 0 726 X_BITS_POSIX_OPT_H = 1 727 X_BITS_PTHREADTYPES_ARCH_H = 1 728 X_BITS_PTHREADTYPES_COMMON_H = 1 729 X_BITS_STDINT_INTN_H = 1 730 X_BITS_STDIO_LIM_H = 1 731 X_BITS_TIME64_H = 1 732 X_BITS_TYPESIZES_H = 1 733 X_BITS_TYPES_H = 1 734 X_BITS_TYPES_LOCALE_T_H = 1 735 X_BITS_TYPES___LOCALE_T_H = 1 736 X_BITS_UINTN_IDENTITY_H = 1 737 X_BSD_SIZE_T_ = 0 738 X_BSD_SIZE_T_DEFINED_ = 0 739 X_CALL_ELF = 2 740 X_CALL_LINUX = 1 741 X_CTYPE_H = 1 742 X_DEFAULT_SOURCE = 1 743 X_ENDIAN_H = 1 744 X_ERRNO_H = 1 745 X_FEATURES_H = 1 746 X_FILE_OFFSET_BITS = 64 747 X_FTS5_H = 0 748 X_GCC_SIZE_T = 0 749 X_GCC_WCHAR_T = 0 750 X_GETOPT_CORE_H = 1 751 X_GETOPT_POSIX_H = 1 752 X_IOFBF = 0 753 X_IOLBF = 1 754 X_IONBF = 2 755 X_IO_EOF_SEEN = 0x0010 756 X_IO_ERR_SEEN = 0x0020 757 X_IO_USER_LOCK = 0x8000 758 X_LFS64_ASYNCHRONOUS_IO = 1 759 X_LFS64_LARGEFILE = 1 760 X_LFS64_STDIO = 1 761 X_LFS_ASYNCHRONOUS_IO = 1 762 X_LFS_LARGEFILE = 1 763 X_LITTLE_ENDIAN = 1 764 X_LP64 = 1 765 X_POSIX2_CHAR_TERM = 200809 766 X_POSIX2_C_BIND = 200809 767 X_POSIX2_C_DEV = 200809 768 X_POSIX2_C_VERSION = 200809 769 X_POSIX2_LOCALEDEF = 200809 770 X_POSIX2_SW_DEV = 200809 771 X_POSIX2_VERSION = 200809 772 X_POSIX_ADVISORY_INFO = 200809 773 X_POSIX_ASYNCHRONOUS_IO = 200809 774 X_POSIX_ASYNC_IO = 1 775 X_POSIX_BARRIERS = 200809 776 X_POSIX_CHOWN_RESTRICTED = 0 777 X_POSIX_CLOCK_SELECTION = 200809 778 X_POSIX_CPUTIME = 0 779 X_POSIX_C_SOURCE = 200809 780 X_POSIX_FSYNC = 200809 781 X_POSIX_IPV6 = 200809 782 X_POSIX_JOB_CONTROL = 1 783 X_POSIX_MAPPED_FILES = 200809 784 X_POSIX_MEMLOCK = 200809 785 X_POSIX_MEMLOCK_RANGE = 200809 786 X_POSIX_MEMORY_PROTECTION = 200809 787 X_POSIX_MESSAGE_PASSING = 200809 788 X_POSIX_MONOTONIC_CLOCK = 0 789 X_POSIX_NO_TRUNC = 1 790 X_POSIX_PRIORITIZED_IO = 200809 791 X_POSIX_PRIORITY_SCHEDULING = 200809 792 X_POSIX_RAW_SOCKETS = 200809 793 X_POSIX_READER_WRITER_LOCKS = 200809 794 X_POSIX_REALTIME_SIGNALS = 200809 795 X_POSIX_REENTRANT_FUNCTIONS = 1 796 X_POSIX_REGEXP = 1 797 X_POSIX_SAVED_IDS = 1 798 X_POSIX_SEMAPHORES = 200809 799 X_POSIX_SHARED_MEMORY_OBJECTS = 200809 800 X_POSIX_SHELL = 1 801 X_POSIX_SOURCE = 1 802 X_POSIX_SPAWN = 200809 803 X_POSIX_SPIN_LOCKS = 200809 804 X_POSIX_SPORADIC_SERVER = -1 805 X_POSIX_SYNCHRONIZED_IO = 200809 806 X_POSIX_THREADS = 200809 807 X_POSIX_THREAD_ATTR_STACKADDR = 200809 808 X_POSIX_THREAD_ATTR_STACKSIZE = 200809 809 X_POSIX_THREAD_CPUTIME = 0 810 X_POSIX_THREAD_PRIORITY_SCHEDULING = 200809 811 X_POSIX_THREAD_PRIO_INHERIT = 200809 812 X_POSIX_THREAD_PRIO_PROTECT = 200809 813 X_POSIX_THREAD_PROCESS_SHARED = 200809 814 X_POSIX_THREAD_ROBUST_PRIO_INHERIT = 200809 815 X_POSIX_THREAD_ROBUST_PRIO_PROTECT = -1 816 X_POSIX_THREAD_SAFE_FUNCTIONS = 200809 817 X_POSIX_THREAD_SPORADIC_SERVER = -1 818 X_POSIX_TIMEOUTS = 200809 819 X_POSIX_TIMERS = 200809 820 X_POSIX_TRACE = -1 821 X_POSIX_TRACE_EVENT_FILTER = -1 822 X_POSIX_TRACE_INHERIT = -1 823 X_POSIX_TRACE_LOG = -1 824 X_POSIX_TYPED_MEMORY_OBJECTS = -1 825 X_POSIX_V6_LP64_OFF64 = 1 826 X_POSIX_V6_LPBIG_OFFBIG = -1 827 X_POSIX_V7_LP64_OFF64 = 1 828 X_POSIX_V7_LPBIG_OFFBIG = -1 829 X_POSIX_VDISABLE = 0 830 X_POSIX_VERSION = 200809 831 X_RWLOCK_INTERNAL_H = 0 832 X_SIZET_ = 0 833 X_SIZE_T = 0 834 X_SIZE_T_ = 0 835 X_SIZE_T_DECLARED = 0 836 X_SIZE_T_DEFINED = 0 837 X_SIZE_T_DEFINED_ = 0 838 X_SQLITE3RTREE_H_ = 0 839 X_STDARG_H = 0 840 X_STDC_PREDEF_H = 1 841 X_STDIO_H = 1 842 X_STDLIB_H = 1 843 X_STRINGS_H = 1 844 X_STRING_H = 1 845 X_STRUCT_TIMESPEC = 1 846 X_SYS_CDEFS_H = 1 847 X_SYS_SELECT_H = 1 848 X_SYS_SIZE_T_H = 0 849 X_SYS_TYPES_H = 1 850 X_THREAD_MUTEX_INTERNAL_H = 1 851 X_THREAD_SHARED_TYPES_H = 1 852 X_T_SIZE = 0 853 X_T_SIZE_ = 0 854 X_T_WCHAR = 0 855 X_T_WCHAR_ = 0 856 X_UNISTD_H = 1 857 X_VA_LIST = 0 858 X_VA_LIST_ = 0 859 X_VA_LIST_DEFINED = 0 860 X_VA_LIST_T_H = 0 861 X_WCHAR_T = 0 862 X_WCHAR_T_ = 0 863 X_WCHAR_T_DECLARED = 0 864 X_WCHAR_T_DEFINED = 0 865 X_WCHAR_T_DEFINED_ = 0 866 X_WCHAR_T_H = 0 867 X_XBS5_LP64_OFF64 = 1 868 X_XBS5_LPBIG_OFFBIG = -1 869 X_XOPEN_ENH_I18N = 1 870 X_XOPEN_LEGACY = 1 871 X_XOPEN_REALTIME = 1 872 X_XOPEN_REALTIME_THREADS = 1 873 X_XOPEN_SHM = 1 874 X_XOPEN_UNIX = 1 875 X_XOPEN_VERSION = 700 876 X_XOPEN_XCU_VERSION = 4 877 X_XOPEN_XPG2 = 1 878 X_XOPEN_XPG3 = 1 879 X_XOPEN_XPG4 = 1 880 Linux = 1 881 Unix = 1 882 ) 883 884 const ( 885 _PC_LINK_MAX = 0 886 _PC_MAX_CANON = 1 887 _PC_MAX_INPUT = 2 888 _PC_NAME_MAX = 3 889 _PC_PATH_MAX = 4 890 _PC_PIPE_BUF = 5 891 _PC_CHOWN_RESTRICTED = 6 892 _PC_NO_TRUNC = 7 893 _PC_VDISABLE = 8 894 _PC_SYNC_IO = 9 895 _PC_ASYNC_IO = 10 896 _PC_PRIO_IO = 11 897 _PC_SOCK_MAXBUF = 12 898 _PC_FILESIZEBITS = 13 899 _PC_REC_INCR_XFER_SIZE = 14 900 _PC_REC_MAX_XFER_SIZE = 15 901 _PC_REC_MIN_XFER_SIZE = 16 902 _PC_REC_XFER_ALIGN = 17 903 _PC_ALLOC_SIZE_MIN = 18 904 _PC_SYMLINK_MAX = 19 905 _PC_2_SYMLINKS = 20 906 ) 907 908 const ( 909 _CS_PATH = 0 910 911 _CS_V6_WIDTH_RESTRICTED_ENVS = 1 912 913 _CS_GNU_LIBC_VERSION = 2 914 _CS_GNU_LIBPTHREAD_VERSION = 3 915 916 _CS_V5_WIDTH_RESTRICTED_ENVS = 4 917 918 _CS_V7_WIDTH_RESTRICTED_ENVS = 5 919 920 _CS_LFS_CFLAGS = 1000 921 _CS_LFS_LDFLAGS = 1001 922 _CS_LFS_LIBS = 1002 923 _CS_LFS_LINTFLAGS = 1003 924 _CS_LFS64_CFLAGS = 1004 925 _CS_LFS64_LDFLAGS = 1005 926 _CS_LFS64_LIBS = 1006 927 _CS_LFS64_LINTFLAGS = 1007 928 929 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100 930 _CS_XBS5_ILP32_OFF32_LDFLAGS = 1101 931 _CS_XBS5_ILP32_OFF32_LIBS = 1102 932 _CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103 933 _CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104 934 _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105 935 _CS_XBS5_ILP32_OFFBIG_LIBS = 1106 936 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107 937 _CS_XBS5_LP64_OFF64_CFLAGS = 1108 938 _CS_XBS5_LP64_OFF64_LDFLAGS = 1109 939 _CS_XBS5_LP64_OFF64_LIBS = 1110 940 _CS_XBS5_LP64_OFF64_LINTFLAGS = 1111 941 _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112 942 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113 943 _CS_XBS5_LPBIG_OFFBIG_LIBS = 1114 944 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115 945 946 _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116 947 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117 948 _CS_POSIX_V6_ILP32_OFF32_LIBS = 1118 949 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119 950 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120 951 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121 952 _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122 953 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123 954 _CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124 955 _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125 956 _CS_POSIX_V6_LP64_OFF64_LIBS = 1126 957 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127 958 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128 959 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129 960 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130 961 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131 962 963 _CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132 964 _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133 965 _CS_POSIX_V7_ILP32_OFF32_LIBS = 1134 966 _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135 967 _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136 968 _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137 969 _CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138 970 _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139 971 _CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140 972 _CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141 973 _CS_POSIX_V7_LP64_OFF64_LIBS = 1142 974 _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143 975 _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144 976 _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145 977 _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146 978 _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147 979 980 _CS_V6_ENV = 1148 981 _CS_V7_ENV = 1149 982 ) 983 984 const ( 985 _SC_ARG_MAX = 0 986 _SC_CHILD_MAX = 1 987 _SC_CLK_TCK = 2 988 _SC_NGROUPS_MAX = 3 989 _SC_OPEN_MAX = 4 990 _SC_STREAM_MAX = 5 991 _SC_TZNAME_MAX = 6 992 _SC_JOB_CONTROL = 7 993 _SC_SAVED_IDS = 8 994 _SC_REALTIME_SIGNALS = 9 995 _SC_PRIORITY_SCHEDULING = 10 996 _SC_TIMERS = 11 997 _SC_ASYNCHRONOUS_IO = 12 998 _SC_PRIORITIZED_IO = 13 999 _SC_SYNCHRONIZED_IO = 14 1000 _SC_FSYNC = 15 1001 _SC_MAPPED_FILES = 16 1002 _SC_MEMLOCK = 17 1003 _SC_MEMLOCK_RANGE = 18 1004 _SC_MEMORY_PROTECTION = 19 1005 _SC_MESSAGE_PASSING = 20 1006 _SC_SEMAPHORES = 21 1007 _SC_SHARED_MEMORY_OBJECTS = 22 1008 _SC_AIO_LISTIO_MAX = 23 1009 _SC_AIO_MAX = 24 1010 _SC_AIO_PRIO_DELTA_MAX = 25 1011 _SC_DELAYTIMER_MAX = 26 1012 _SC_MQ_OPEN_MAX = 27 1013 _SC_MQ_PRIO_MAX = 28 1014 _SC_VERSION = 29 1015 _SC_PAGESIZE = 30 1016 _SC_RTSIG_MAX = 31 1017 _SC_SEM_NSEMS_MAX = 32 1018 _SC_SEM_VALUE_MAX = 33 1019 _SC_SIGQUEUE_MAX = 34 1020 _SC_TIMER_MAX = 35 1021 1022 _SC_BC_BASE_MAX = 36 1023 _SC_BC_DIM_MAX = 37 1024 _SC_BC_SCALE_MAX = 38 1025 _SC_BC_STRING_MAX = 39 1026 _SC_COLL_WEIGHTS_MAX = 40 1027 _SC_EQUIV_CLASS_MAX = 41 1028 _SC_EXPR_NEST_MAX = 42 1029 _SC_LINE_MAX = 43 1030 _SC_RE_DUP_MAX = 44 1031 _SC_CHARCLASS_NAME_MAX = 45 1032 1033 _SC_2_VERSION = 46 1034 _SC_2_C_BIND = 47 1035 _SC_2_C_DEV = 48 1036 _SC_2_FORT_DEV = 49 1037 _SC_2_FORT_RUN = 50 1038 _SC_2_SW_DEV = 51 1039 _SC_2_LOCALEDEF = 52 1040 1041 _SC_PII = 53 1042 _SC_PII_XTI = 54 1043 _SC_PII_SOCKET = 55 1044 _SC_PII_INTERNET = 56 1045 _SC_PII_OSI = 57 1046 _SC_POLL = 58 1047 _SC_SELECT = 59 1048 _SC_UIO_MAXIOV = 60 1049 _SC_IOV_MAX = 60 1050 _SC_PII_INTERNET_STREAM = 61 1051 _SC_PII_INTERNET_DGRAM = 62 1052 _SC_PII_OSI_COTS = 63 1053 _SC_PII_OSI_CLTS = 64 1054 _SC_PII_OSI_M = 65 1055 _SC_T_IOV_MAX = 66 1056 1057 _SC_THREADS = 67 1058 _SC_THREAD_SAFE_FUNCTIONS = 68 1059 _SC_GETGR_R_SIZE_MAX = 69 1060 _SC_GETPW_R_SIZE_MAX = 70 1061 _SC_LOGIN_NAME_MAX = 71 1062 _SC_TTY_NAME_MAX = 72 1063 _SC_THREAD_DESTRUCTOR_ITERATIONS = 73 1064 _SC_THREAD_KEYS_MAX = 74 1065 _SC_THREAD_STACK_MIN = 75 1066 _SC_THREAD_THREADS_MAX = 76 1067 _SC_THREAD_ATTR_STACKADDR = 77 1068 _SC_THREAD_ATTR_STACKSIZE = 78 1069 _SC_THREAD_PRIORITY_SCHEDULING = 79 1070 _SC_THREAD_PRIO_INHERIT = 80 1071 _SC_THREAD_PRIO_PROTECT = 81 1072 _SC_THREAD_PROCESS_SHARED = 82 1073 1074 _SC_NPROCESSORS_CONF = 83 1075 _SC_NPROCESSORS_ONLN = 84 1076 _SC_PHYS_PAGES = 85 1077 _SC_AVPHYS_PAGES = 86 1078 _SC_ATEXIT_MAX = 87 1079 _SC_PASS_MAX = 88 1080 1081 _SC_XOPEN_VERSION = 89 1082 _SC_XOPEN_XCU_VERSION = 90 1083 _SC_XOPEN_UNIX = 91 1084 _SC_XOPEN_CRYPT = 92 1085 _SC_XOPEN_ENH_I18N = 93 1086 _SC_XOPEN_SHM = 94 1087 1088 _SC_2_CHAR_TERM = 95 1089 _SC_2_C_VERSION = 96 1090 _SC_2_UPE = 97 1091 1092 _SC_XOPEN_XPG2 = 98 1093 _SC_XOPEN_XPG3 = 99 1094 _SC_XOPEN_XPG4 = 100 1095 1096 _SC_CHAR_BIT = 101 1097 _SC_CHAR_MAX = 102 1098 _SC_CHAR_MIN = 103 1099 _SC_INT_MAX = 104 1100 _SC_INT_MIN = 105 1101 _SC_LONG_BIT = 106 1102 _SC_WORD_BIT = 107 1103 _SC_MB_LEN_MAX = 108 1104 _SC_NZERO = 109 1105 _SC_SSIZE_MAX = 110 1106 _SC_SCHAR_MAX = 111 1107 _SC_SCHAR_MIN = 112 1108 _SC_SHRT_MAX = 113 1109 _SC_SHRT_MIN = 114 1110 _SC_UCHAR_MAX = 115 1111 _SC_UINT_MAX = 116 1112 _SC_ULONG_MAX = 117 1113 _SC_USHRT_MAX = 118 1114 1115 _SC_NL_ARGMAX = 119 1116 _SC_NL_LANGMAX = 120 1117 _SC_NL_MSGMAX = 121 1118 _SC_NL_NMAX = 122 1119 _SC_NL_SETMAX = 123 1120 _SC_NL_TEXTMAX = 124 1121 1122 _SC_XBS5_ILP32_OFF32 = 125 1123 _SC_XBS5_ILP32_OFFBIG = 126 1124 _SC_XBS5_LP64_OFF64 = 127 1125 _SC_XBS5_LPBIG_OFFBIG = 128 1126 1127 _SC_XOPEN_LEGACY = 129 1128 _SC_XOPEN_REALTIME = 130 1129 _SC_XOPEN_REALTIME_THREADS = 131 1130 1131 _SC_ADVISORY_INFO = 132 1132 _SC_BARRIERS = 133 1133 _SC_BASE = 134 1134 _SC_C_LANG_SUPPORT = 135 1135 _SC_C_LANG_SUPPORT_R = 136 1136 _SC_CLOCK_SELECTION = 137 1137 _SC_CPUTIME = 138 1138 _SC_THREAD_CPUTIME = 139 1139 _SC_DEVICE_IO = 140 1140 _SC_DEVICE_SPECIFIC = 141 1141 _SC_DEVICE_SPECIFIC_R = 142 1142 _SC_FD_MGMT = 143 1143 _SC_FIFO = 144 1144 _SC_PIPE = 145 1145 _SC_FILE_ATTRIBUTES = 146 1146 _SC_FILE_LOCKING = 147 1147 _SC_FILE_SYSTEM = 148 1148 _SC_MONOTONIC_CLOCK = 149 1149 _SC_MULTI_PROCESS = 150 1150 _SC_SINGLE_PROCESS = 151 1151 _SC_NETWORKING = 152 1152 _SC_READER_WRITER_LOCKS = 153 1153 _SC_SPIN_LOCKS = 154 1154 _SC_REGEXP = 155 1155 _SC_REGEX_VERSION = 156 1156 _SC_SHELL = 157 1157 _SC_SIGNALS = 158 1158 _SC_SPAWN = 159 1159 _SC_SPORADIC_SERVER = 160 1160 _SC_THREAD_SPORADIC_SERVER = 161 1161 _SC_SYSTEM_DATABASE = 162 1162 _SC_SYSTEM_DATABASE_R = 163 1163 _SC_TIMEOUTS = 164 1164 _SC_TYPED_MEMORY_OBJECTS = 165 1165 _SC_USER_GROUPS = 166 1166 _SC_USER_GROUPS_R = 167 1167 _SC_2_PBS = 168 1168 _SC_2_PBS_ACCOUNTING = 169 1169 _SC_2_PBS_LOCATE = 170 1170 _SC_2_PBS_MESSAGE = 171 1171 _SC_2_PBS_TRACK = 172 1172 _SC_SYMLOOP_MAX = 173 1173 _SC_STREAMS = 174 1174 _SC_2_PBS_CHECKPOINT = 175 1175 1176 _SC_V6_ILP32_OFF32 = 176 1177 _SC_V6_ILP32_OFFBIG = 177 1178 _SC_V6_LP64_OFF64 = 178 1179 _SC_V6_LPBIG_OFFBIG = 179 1180 1181 _SC_HOST_NAME_MAX = 180 1182 _SC_TRACE = 181 1183 _SC_TRACE_EVENT_FILTER = 182 1184 _SC_TRACE_INHERIT = 183 1185 _SC_TRACE_LOG = 184 1186 1187 _SC_LEVEL1_ICACHE_SIZE = 185 1188 _SC_LEVEL1_ICACHE_ASSOC = 186 1189 _SC_LEVEL1_ICACHE_LINESIZE = 187 1190 _SC_LEVEL1_DCACHE_SIZE = 188 1191 _SC_LEVEL1_DCACHE_ASSOC = 189 1192 _SC_LEVEL1_DCACHE_LINESIZE = 190 1193 _SC_LEVEL2_CACHE_SIZE = 191 1194 _SC_LEVEL2_CACHE_ASSOC = 192 1195 _SC_LEVEL2_CACHE_LINESIZE = 193 1196 _SC_LEVEL3_CACHE_SIZE = 194 1197 _SC_LEVEL3_CACHE_ASSOC = 195 1198 _SC_LEVEL3_CACHE_LINESIZE = 196 1199 _SC_LEVEL4_CACHE_SIZE = 197 1200 _SC_LEVEL4_CACHE_ASSOC = 198 1201 _SC_LEVEL4_CACHE_LINESIZE = 199 1202 1203 _SC_IPV6 = 235 1204 _SC_RAW_SOCKETS = 236 1205 1206 _SC_V7_ILP32_OFF32 = 237 1207 _SC_V7_ILP32_OFFBIG = 238 1208 _SC_V7_LP64_OFF64 = 239 1209 _SC_V7_LPBIG_OFFBIG = 240 1210 1211 _SC_SS_REPL_MAX = 241 1212 1213 _SC_TRACE_EVENT_NAME_MAX = 242 1214 _SC_TRACE_NAME_MAX = 243 1215 _SC_TRACE_SYS_MAX = 244 1216 _SC_TRACE_USER_EVENT_MAX = 245 1217 1218 _SC_XOPEN_STREAMS = 246 1219 1220 _SC_THREAD_ROBUST_PRIO_INHERIT = 247 1221 _SC_THREAD_ROBUST_PRIO_PROTECT = 248 1222 ) 1223 1224 const ( 1225 P_ALL = 0 1226 P_PID = 1 1227 P_PGID = 2 1228 ) 1229 1230 const ( 1231 _ISupper = 256 1232 _ISlower = 512 1233 _ISalpha = 1024 1234 _ISdigit = 2048 1235 _ISxdigit = 4096 1236 _ISspace = 8192 1237 _ISprint = 16384 1238 _ISgraph = 32768 1239 _ISblank = 1 1240 _IScntrl = 2 1241 _ISpunct = 4 1242 _ISalnum = 8 1243 ) 1244 1245 type ptrdiff_t = int64 1246 1247 type size_t = uint64 1248 1249 type wchar_t = int32 1250 1251 type va_list = uintptr 1252 1253 type sqlite_int64 = int64 1254 type sqlite_uint64 = uint64 1255 type sqlite3_int64 = sqlite_int64 1256 type sqlite3_uint64 = sqlite_uint64 1257 1258 type sqlite3_callback = uintptr 1259 1260 type sqlite3_file1 = struct{ pMethods uintptr } 1261 1262 type sqlite3_file = sqlite3_file1 1263 type sqlite3_io_methods1 = struct { 1264 iVersion int32 1265 _ [4]byte 1266 xClose uintptr 1267 xRead uintptr 1268 xWrite uintptr 1269 xTruncate uintptr 1270 xSync uintptr 1271 xFileSize uintptr 1272 xLock uintptr 1273 xUnlock uintptr 1274 xCheckReservedLock uintptr 1275 xFileControl uintptr 1276 xSectorSize uintptr 1277 xDeviceCharacteristics uintptr 1278 xShmMap uintptr 1279 xShmLock uintptr 1280 xShmBarrier uintptr 1281 xShmUnmap uintptr 1282 xFetch uintptr 1283 xUnfetch uintptr 1284 } 1285 1286 type sqlite3_io_methods = sqlite3_io_methods1 1287 1288 type sqlite3_vfs1 = struct { 1289 iVersion int32 1290 szOsFile int32 1291 mxPathname int32 1292 _ [4]byte 1293 pNext uintptr 1294 zName uintptr 1295 pAppData uintptr 1296 xOpen uintptr 1297 xDelete uintptr 1298 xAccess uintptr 1299 xFullPathname uintptr 1300 xDlOpen uintptr 1301 xDlError uintptr 1302 xDlSym uintptr 1303 xDlClose uintptr 1304 xRandomness uintptr 1305 xSleep uintptr 1306 xCurrentTime uintptr 1307 xGetLastError uintptr 1308 xCurrentTimeInt64 uintptr 1309 xSetSystemCall uintptr 1310 xGetSystemCall uintptr 1311 xNextSystemCall uintptr 1312 } 1313 1314 type sqlite3_vfs = sqlite3_vfs1 1315 type sqlite3_syscall_ptr = uintptr 1316 1317 type sqlite3_mem_methods1 = struct { 1318 xMalloc uintptr 1319 xFree uintptr 1320 xRealloc uintptr 1321 xSize uintptr 1322 xRoundup uintptr 1323 xInit uintptr 1324 xShutdown uintptr 1325 pAppData uintptr 1326 } 1327 1328 type sqlite3_mem_methods = sqlite3_mem_methods1 1329 1330 type sqlite3_destructor_type = uintptr 1331 1332 type sqlite3_vtab1 = struct { 1333 pModule uintptr 1334 nRef int32 1335 _ [4]byte 1336 zErrMsg uintptr 1337 } 1338 1339 type sqlite3_vtab = sqlite3_vtab1 1340 type sqlite3_index_info1 = struct { 1341 nConstraint int32 1342 _ [4]byte 1343 aConstraint uintptr 1344 nOrderBy int32 1345 _ [4]byte 1346 aOrderBy uintptr 1347 aConstraintUsage uintptr 1348 idxNum int32 1349 _ [4]byte 1350 idxStr uintptr 1351 needToFreeIdxStr int32 1352 orderByConsumed int32 1353 estimatedCost float64 1354 estimatedRows sqlite3_int64 1355 idxFlags int32 1356 _ [4]byte 1357 colUsed sqlite3_uint64 1358 } 1359 1360 type sqlite3_index_info = sqlite3_index_info1 1361 type sqlite3_vtab_cursor1 = struct{ pVtab uintptr } 1362 1363 type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 1364 type sqlite3_module1 = struct { 1365 iVersion int32 1366 _ [4]byte 1367 xCreate uintptr 1368 xConnect uintptr 1369 xBestIndex uintptr 1370 xDisconnect uintptr 1371 xDestroy uintptr 1372 xOpen uintptr 1373 xClose uintptr 1374 xFilter uintptr 1375 xNext uintptr 1376 xEof uintptr 1377 xColumn uintptr 1378 xRowid uintptr 1379 xUpdate uintptr 1380 xBegin uintptr 1381 xSync uintptr 1382 xCommit uintptr 1383 xRollback uintptr 1384 xFindFunction uintptr 1385 xRename uintptr 1386 xSavepoint uintptr 1387 xRelease uintptr 1388 xRollbackTo uintptr 1389 xShadowName uintptr 1390 } 1391 1392 type sqlite3_module = sqlite3_module1 1393 1394 type sqlite3_index_constraint = struct { 1395 iColumn int32 1396 op uint8 1397 usable uint8 1398 _ [2]byte 1399 iTermOffset int32 1400 } 1401 1402 type sqlite3_index_orderby = struct { 1403 iColumn int32 1404 desc uint8 1405 _ [3]byte 1406 } 1407 1408 type sqlite3_index_constraint_usage = struct { 1409 argvIndex int32 1410 omit uint8 1411 _ [3]byte 1412 } 1413 1414 type sqlite3_mutex_methods1 = struct { 1415 xMutexInit uintptr 1416 xMutexEnd uintptr 1417 xMutexAlloc uintptr 1418 xMutexFree uintptr 1419 xMutexEnter uintptr 1420 xMutexTry uintptr 1421 xMutexLeave uintptr 1422 xMutexHeld uintptr 1423 xMutexNotheld uintptr 1424 } 1425 1426 type sqlite3_mutex_methods = sqlite3_mutex_methods1 1427 1428 type sqlite3_pcache_page1 = struct { 1429 pBuf uintptr 1430 pExtra uintptr 1431 } 1432 1433 type sqlite3_pcache_page = sqlite3_pcache_page1 1434 1435 type sqlite3_pcache_methods21 = struct { 1436 iVersion int32 1437 _ [4]byte 1438 pArg uintptr 1439 xInit uintptr 1440 xShutdown uintptr 1441 xCreate uintptr 1442 xCachesize uintptr 1443 xPagecount uintptr 1444 xFetch uintptr 1445 xUnpin uintptr 1446 xRekey uintptr 1447 xTruncate uintptr 1448 xDestroy uintptr 1449 xShrink uintptr 1450 } 1451 1452 type sqlite3_pcache_methods2 = sqlite3_pcache_methods21 1453 1454 type sqlite3_pcache_methods1 = struct { 1455 pArg uintptr 1456 xInit uintptr 1457 xShutdown uintptr 1458 xCreate uintptr 1459 xCachesize uintptr 1460 xPagecount uintptr 1461 xFetch uintptr 1462 xUnpin uintptr 1463 xRekey uintptr 1464 xTruncate uintptr 1465 xDestroy uintptr 1466 } 1467 1468 type sqlite3_pcache_methods = sqlite3_pcache_methods1 1469 1470 type sqlite3_snapshot1 = struct{ hidden [48]uint8 } 1471 1472 type sqlite3_snapshot = sqlite3_snapshot1 1473 1474 type sqlite3_rtree_geometry1 = struct { 1475 pContext uintptr 1476 nParam int32 1477 _ [4]byte 1478 aParam uintptr 1479 pUser uintptr 1480 xDelUser uintptr 1481 } 1482 1483 type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 1484 type sqlite3_rtree_query_info1 = struct { 1485 pContext uintptr 1486 nParam int32 1487 _ [4]byte 1488 aParam uintptr 1489 pUser uintptr 1490 xDelUser uintptr 1491 aCoord uintptr 1492 anQueue uintptr 1493 nCoord int32 1494 iLevel int32 1495 mxLevel int32 1496 _ [4]byte 1497 iRowid sqlite3_int64 1498 rParentScore sqlite3_rtree_dbl 1499 eParentWithin int32 1500 eWithin int32 1501 rScore sqlite3_rtree_dbl 1502 apSqlParam uintptr 1503 } 1504 1505 type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 1506 1507 type sqlite3_rtree_dbl = float64 1508 1509 type Fts5ExtensionApi1 = struct { 1510 iVersion int32 1511 _ [4]byte 1512 xUserData uintptr 1513 xColumnCount uintptr 1514 xRowCount uintptr 1515 xColumnTotalSize uintptr 1516 xTokenize uintptr 1517 xPhraseCount uintptr 1518 xPhraseSize uintptr 1519 xInstCount uintptr 1520 xInst uintptr 1521 xRowid uintptr 1522 xColumnText uintptr 1523 xColumnSize uintptr 1524 xQueryPhrase uintptr 1525 xSetAuxdata uintptr 1526 xGetAuxdata uintptr 1527 xPhraseFirst uintptr 1528 xPhraseNext uintptr 1529 xPhraseFirstColumn uintptr 1530 xPhraseNextColumn uintptr 1531 } 1532 1533 type Fts5ExtensionApi = Fts5ExtensionApi1 1534 type Fts5PhraseIter1 = struct { 1535 a uintptr 1536 b uintptr 1537 } 1538 1539 type Fts5PhraseIter = Fts5PhraseIter1 1540 1541 type fts5_extension_function = uintptr 1542 type fts5_tokenizer1 = struct { 1543 xCreate uintptr 1544 xDelete uintptr 1545 xTokenize uintptr 1546 } 1547 1548 type fts5_tokenizer = fts5_tokenizer1 1549 1550 type fts5_api1 = struct { 1551 iVersion int32 1552 _ [4]byte 1553 xCreateTokenizer uintptr 1554 xFindTokenizer uintptr 1555 xCreateFunction uintptr 1556 } 1557 1558 type fts5_api = fts5_api1 1559 1560 type _G_fpos_t = struct { 1561 __pos int64 1562 __state struct { 1563 __count int32 1564 __value struct{ __wch uint32 } 1565 } 1566 } 1567 1568 type _G_fpos64_t = struct { 1569 __pos int64 1570 __state struct { 1571 __count int32 1572 __value struct{ __wch uint32 } 1573 } 1574 } 1575 1576 type _IO_FILE = struct { 1577 _flags int32 1578 _ [4]byte 1579 _IO_read_ptr uintptr 1580 _IO_read_end uintptr 1581 _IO_read_base uintptr 1582 _IO_write_base uintptr 1583 _IO_write_ptr uintptr 1584 _IO_write_end uintptr 1585 _IO_buf_base uintptr 1586 _IO_buf_end uintptr 1587 _IO_save_base uintptr 1588 _IO_backup_base uintptr 1589 _IO_save_end uintptr 1590 _markers uintptr 1591 _chain uintptr 1592 _fileno int32 1593 _flags2 int32 1594 _old_offset int64 1595 _cur_column uint16 1596 _vtable_offset int8 1597 _shortbuf [1]uint8 1598 _ [4]byte 1599 _lock uintptr 1600 _offset int64 1601 _codecvt uintptr 1602 _wide_data uintptr 1603 _freeres_list uintptr 1604 _freeres_buf uintptr 1605 __pad5 size_t 1606 _mode int32 1607 _unused2 [20]uint8 1608 } 1609 1610 type FILE = _IO_FILE 1611 1612 type off_t = int64 1613 1614 type ssize_t = int64 1615 1616 type fpos_t = _G_fpos64_t 1617 1618 type gid_t = uint32 1619 1620 type uid_t = uint32 1621 1622 type useconds_t = uint32 1623 1624 type pid_t = int32 1625 1626 type intptr_t = int64 1627 1628 type socklen_t = uint32 1629 1630 type idtype_t = uint32 1631 1632 type div_t = struct { 1633 quot int32 1634 rem int32 1635 } 1636 1637 type ldiv_t = struct { 1638 quot int64 1639 rem int64 1640 } 1641 1642 type lldiv_t = struct { 1643 quot int64 1644 rem int64 1645 } 1646 1647 type u_char = uint8 1648 type u_short = uint16 1649 type u_int = uint32 1650 type u_long = uint64 1651 type quad_t = int64 1652 type u_quad_t = uint64 1653 type fsid_t = struct{ __val [2]int32 } 1654 type loff_t = int64 1655 1656 type ino_t = uint64 1657 1658 type dev_t = uint64 1659 1660 type mode_t = uint32 1661 1662 type nlink_t = uint64 1663 1664 type id_t = uint32 1665 1666 type daddr_t = int32 1667 type caddr_t = uintptr 1668 1669 type key_t = int32 1670 1671 type clock_t = int64 1672 1673 type clockid_t = int32 1674 1675 type time_t = int64 1676 1677 type timer_t = uintptr 1678 1679 type ulong = uint64 1680 type ushort = uint16 1681 type uint = uint32 1682 1683 type int8_t = int8 1684 type int16_t = int16 1685 type int32_t = int32 1686 type int64_t = int64 1687 1688 type u_int8_t = uint8 1689 type u_int16_t = uint16 1690 type u_int32_t = uint32 1691 type u_int64_t = uint64 1692 1693 type register_t = int32 1694 1695 type sigset_t = struct{ __val [16]uint64 } 1696 1697 type timeval = struct { 1698 tv_sec int64 1699 tv_usec int64 1700 } 1701 1702 type timespec = struct { 1703 tv_sec int64 1704 tv_nsec int64 1705 } 1706 1707 type suseconds_t = int64 1708 1709 type fd_set = struct{ __fds_bits [16]int64 } 1710 1711 type fd_mask = int64 1712 1713 type blksize_t = int64 1714 1715 type blkcnt_t = int64 1716 type fsblkcnt_t = uint64 1717 type fsfilcnt_t = uint64 1718 1719 type __pthread_internal_list = struct { 1720 __prev uintptr 1721 __next uintptr 1722 } 1723 1724 type __pthread_internal_slist = struct{ __next uintptr } 1725 1726 type __pthread_mutex_s = struct { 1727 __lock int32 1728 __count uint32 1729 __owner int32 1730 __nusers uint32 1731 __kind int32 1732 __spins int16 1733 __elision int16 1734 __list struct { 1735 __prev uintptr 1736 __next uintptr 1737 } 1738 } 1739 1740 type __pthread_rwlock_arch_t = struct { 1741 __readers uint32 1742 __writers uint32 1743 __wrphase_futex uint32 1744 __writers_futex uint32 1745 __pad3 uint32 1746 __pad4 uint32 1747 __cur_writer int32 1748 __shared int32 1749 __rwelision uint8 1750 __pad1 [7]uint8 1751 __pad2 uint64 1752 __flags uint32 1753 _ [4]byte 1754 } 1755 1756 type __pthread_cond_s = struct { 1757 __0 struct{ __wseq uint64 } 1758 __8 struct{ __g1_start uint64 } 1759 __g_refs [2]uint32 1760 __g_size [2]uint32 1761 __g1_orig_size uint32 1762 __wrefs uint32 1763 __g_signals [2]uint32 1764 } 1765 1766 type pthread_t = uint64 1767 1768 type pthread_mutexattr_t = struct { 1769 _ [0]uint32 1770 __size [4]uint8 1771 } 1772 1773 type pthread_condattr_t = struct { 1774 _ [0]uint32 1775 __size [4]uint8 1776 } 1777 1778 type pthread_key_t = uint32 1779 1780 type pthread_once_t = int32 1781 1782 type pthread_attr_t1 = struct { 1783 _ [0]uint64 1784 __size [56]uint8 1785 } 1786 1787 type pthread_attr_t = pthread_attr_t1 1788 1789 type pthread_mutex_t = struct{ __data __pthread_mutex_s } 1790 1791 type pthread_cond_t = struct{ __data __pthread_cond_s } 1792 1793 type pthread_rwlock_t = struct{ __data __pthread_rwlock_arch_t } 1794 1795 type pthread_rwlockattr_t = struct { 1796 _ [0]uint64 1797 __size [8]uint8 1798 } 1799 1800 type pthread_spinlock_t = int32 1801 1802 type pthread_barrier_t = struct { 1803 _ [0]uint64 1804 __size [32]uint8 1805 } 1806 1807 type pthread_barrierattr_t = struct { 1808 _ [0]uint32 1809 __size [4]uint8 1810 } 1811 1812 type random_data = struct { 1813 fptr uintptr 1814 rptr uintptr 1815 state uintptr 1816 rand_type int32 1817 rand_deg int32 1818 rand_sep int32 1819 _ [4]byte 1820 end_ptr uintptr 1821 } 1822 1823 type drand48_data = struct { 1824 __x [3]uint16 1825 __old_x [3]uint16 1826 __c uint16 1827 __init uint16 1828 __a uint64 1829 } 1830 1831 type __locale_struct = struct { 1832 __locales [13]uintptr 1833 __ctype_b uintptr 1834 __ctype_tolower uintptr 1835 __ctype_toupper uintptr 1836 __names [13]uintptr 1837 } 1838 1839 type locale_t = uintptr 1840 1841 type Global = struct { 1842 argv0 uintptr 1843 zVfs uintptr 1844 zDbFile uintptr 1845 db uintptr 1846 zErrLog uintptr 1847 pErrLog uintptr 1848 zLog uintptr 1849 pLog uintptr 1850 zName [32]uint8 1851 taskId int32 1852 iTrace int32 1853 bSqlTrace int32 1854 bIgnoreSqlErrors int32 1855 nError int32 1856 nTest int32 1857 iTimeout int32 1858 bSync int32 1859 } 1860 1861 var g Global 1862 1863 func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) { 1864 bp := tls.Alloc(24) 1865 defer tls.Free(24) 1866 1867 for zMsg != 0 && *(*uint8)(unsafe.Pointer(zMsg)) != 0 { 1868 var i int32 1869 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++ { 1870 } 1871 libc.Xfprintf(tls, pOut, ts, libc.VaList(bp, zPrefix, i, zMsg)) 1872 zMsg += uintptr(i) 1873 for int32(*(*uint8)(unsafe.Pointer(zMsg))) == '\n' || int32(*(*uint8)(unsafe.Pointer(zMsg))) == '\r' { 1874 zMsg++ 1875 } 1876 } 1877 } 1878 1879 func safe_strcmp(tls *libc.TLS, a uintptr, b uintptr) int32 { 1880 if a == b { 1881 return 0 1882 } 1883 if a == uintptr(0) { 1884 return -1 1885 } 1886 if b == uintptr(0) { 1887 return 1 1888 } 1889 return libc.Xstrcmp(tls, a, b) 1890 } 1891 1892 func strglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 { 1893 var c int32 1894 var c2 int32 1895 var invert int32 1896 var seen int32 1897 1898 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) != 0 { 1899 if c == '*' { 1900 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) == '*' || c == '?' { 1901 if c == '?' && int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 { 1902 return 0 1903 } 1904 } 1905 if c == 0 { 1906 return 1 1907 } else if c == '[' { 1908 for *(*uint8)(unsafe.Pointer(z)) != 0 && strglob(tls, zGlob-uintptr(1), z) != 0 { 1909 z++ 1910 } 1911 return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(z))) != 0) 1912 } 1913 for libc.AssignInt32(&c2, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) != 0 { 1914 for c2 != c { 1915 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) 1916 if c2 == 0 { 1917 return 0 1918 } 1919 } 1920 if strglob(tls, zGlob, z) != 0 { 1921 return 1 1922 } 1923 } 1924 return 0 1925 } else if c == '?' { 1926 if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 { 1927 return 0 1928 } 1929 } else if c == '[' { 1930 var prior_c int32 = 0 1931 seen = 0 1932 invert = 0 1933 c = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) 1934 if c == 0 { 1935 return 0 1936 } 1937 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1938 if c2 == '^' { 1939 invert = 1 1940 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1941 } 1942 if c2 == ']' { 1943 if c == ']' { 1944 seen = 1 1945 } 1946 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1947 } 1948 for c2 != 0 && c2 != ']' { 1949 if c2 == '-' && int32(*(*uint8)(unsafe.Pointer(zGlob))) != ']' && int32(*(*uint8)(unsafe.Pointer(zGlob))) != 0 && prior_c > 0 { 1950 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1951 if c >= prior_c && c <= c2 { 1952 seen = 1 1953 } 1954 prior_c = 0 1955 } else { 1956 if c == c2 { 1957 seen = 1 1958 } 1959 prior_c = c2 1960 } 1961 c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 1962 } 1963 if c2 == 0 || seen^invert == 0 { 1964 return 0 1965 } 1966 } else if c == '#' { 1967 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 { 1968 z++ 1969 } 1970 if !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z))))*2)))&int32(_ISdigit) != 0) { 1971 return 0 1972 } 1973 z++ 1974 for int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*uint8)(unsafe.Pointer(z))))*2)))&int32(_ISdigit) != 0 { 1975 z++ 1976 } 1977 } else { 1978 if c != int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) { 1979 return 0 1980 } 1981 } 1982 } 1983 return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(z))) == 0) 1984 } 1985 1986 func maybeClose(tls *libc.TLS, pOut uintptr) { 1987 if pOut != libc.Xstdout && pOut != libc.Xstderr { 1988 libc.Xfclose(tls, pOut) 1989 } 1990 } 1991 1992 func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { 1993 bp := tls.Alloc(38) 1994 defer tls.Free(38) 1995 1996 var ap va_list 1997 _ = ap 1998 var zMsg uintptr 1999 2000 ap = va 2001 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2002 _ = ap 2003 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+8, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64)) 2004 if g.pLog != 0 { 2005 printWithPrefix(tls, g.pLog, bp+8, zMsg) 2006 libc.Xfflush(tls, g.pLog) 2007 } 2008 if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 { 2009 printWithPrefix(tls, g.pErrLog, bp+8, zMsg) 2010 libc.Xfflush(tls, g.pErrLog) 2011 } 2012 sqlite3.Xsqlite3_free(tls, zMsg) 2013 g.nError++ 2014 } 2015 2016 func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) { 2017 bp := tls.Alloc(38) 2018 defer tls.Free(38) 2019 2020 var ap va_list 2021 _ = ap 2022 var zMsg uintptr 2023 2024 ap = va 2025 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2026 _ = ap 2027 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+19, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64)) 2028 if g.pLog != 0 { 2029 printWithPrefix(tls, g.pLog, bp+8, zMsg) 2030 libc.Xfflush(tls, g.pLog) 2031 maybeClose(tls, g.pLog) 2032 } 2033 if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 { 2034 printWithPrefix(tls, g.pErrLog, bp+8, zMsg) 2035 libc.Xfflush(tls, g.pErrLog) 2036 maybeClose(tls, g.pErrLog) 2037 } 2038 sqlite3.Xsqlite3_free(tls, zMsg) 2039 if g.db != 0 { 2040 var nTry int32 = 0 2041 g.iTimeout = 0 2042 for trySql(tls, ts+30, 0) == SQLITE_BUSY && 2043 libc.PostIncInt32(&nTry, 1) < 100 { 2044 sqlite3.Xsqlite3_sleep(tls, 10) 2045 } 2046 } 2047 sqlite3.Xsqlite3_close(tls, g.db) 2048 libc.Xexit(tls, 1) 2049 } 2050 2051 func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { 2052 bp := tls.Alloc(38) 2053 defer tls.Free(38) 2054 2055 var ap va_list 2056 _ = ap 2057 var zMsg uintptr 2058 2059 ap = va 2060 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2061 _ = ap 2062 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+60, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64)) 2063 if g.pLog != 0 { 2064 printWithPrefix(tls, g.pLog, bp+8, zMsg) 2065 libc.Xfflush(tls, g.pLog) 2066 } 2067 sqlite3.Xsqlite3_free(tls, zMsg) 2068 } 2069 2070 func clipLength(tls *libc.TLS, z uintptr) int32 { 2071 var n int32 = int32(libc.Xstrlen(tls, z)) 2072 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 { 2073 n-- 2074 } 2075 return n 2076 } 2077 2078 func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { 2079 bp := tls.Alloc(8) 2080 defer tls.Free(8) 2081 2082 var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context) 2083 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) 2084 _ = argc 2085 _ = argv 2086 sqlite3.Xsqlite3_file_control(tls, db, ts+65, SQLITE_FCNTL_VFSNAME, bp) 2087 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { 2088 sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) 2089 } 2090 } 2091 2092 func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 { 2093 bp := tls.Alloc(8) 2094 defer tls.Free(8) 2095 2096 _ = pCD 2097 if count*10 > g.iTimeout { 2098 if g.iTimeout > 0 { 2099 errorMessage(tls, ts+70, libc.VaList(bp, g.iTimeout)) 2100 } 2101 return 0 2102 } 2103 sqlite3.Xsqlite3_sleep(tls, 10) 2104 return 1 2105 } 2106 2107 func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) { 2108 bp := tls.Alloc(16) 2109 defer tls.Free(16) 2110 2111 _ = NotUsed1 2112 logMessage(tls, ts+89, libc.VaList(bp, clipLength(tls, zSql), zSql)) 2113 } 2114 2115 func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) { 2116 bp := tls.Alloc(24) 2117 defer tls.Free(24) 2118 2119 _ = pArg 2120 if iErrCode == SQLITE_ERROR && g.bIgnoreSqlErrors != 0 { 2121 return 2122 } 2123 if iErrCode&0xff == SQLITE_SCHEMA && g.iTrace < 3 { 2124 return 2125 } 2126 if g.iTimeout == 0 && iErrCode&0xff == SQLITE_BUSY && g.iTrace < 3 { 2127 return 2128 } 2129 if iErrCode&0xff == SQLITE_NOTICE { 2130 logMessage(tls, ts+96, libc.VaList(bp, zMsg)) 2131 } else { 2132 errorMessage(tls, ts+106, libc.VaList(bp+8, iErrCode, zMsg)) 2133 } 2134 } 2135 2136 func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { 2137 bp := tls.Alloc(24) 2138 defer tls.Free(24) 2139 2140 var ap va_list 2141 _ = ap 2142 var zSql uintptr 2143 var rc int32 2144 *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) 2145 ap = va 2146 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2147 _ = ap 2148 rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0)) 2149 if rc != SQLITE_OK { 2150 sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 2151 fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql)) 2152 } 2153 sqlite3.Xsqlite3_free(tls, zSql) 2154 return *(*uintptr)(unsafe.Pointer(bp + 16)) 2155 } 2156 2157 func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) { 2158 bp := tls.Alloc(16) 2159 defer tls.Free(16) 2160 2161 var ap va_list 2162 _ = ap 2163 var zSql uintptr 2164 var rc int32 2165 ap = va 2166 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2167 _ = ap 2168 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) 2169 if rc != SQLITE_OK { 2170 fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql)) 2171 } 2172 sqlite3.Xsqlite3_free(tls, zSql) 2173 } 2174 2175 func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 { 2176 var ap va_list 2177 _ = ap 2178 var zSql uintptr 2179 var rc int32 2180 ap = va 2181 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2182 _ = ap 2183 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) 2184 sqlite3.Xsqlite3_free(tls, zSql) 2185 return rc 2186 } 2187 2188 type String1 = struct { 2189 z uintptr 2190 n int32 2191 nAlloc int32 2192 } 2193 2194 type String = String1 2195 2196 func stringFree(tls *libc.TLS, p uintptr) { 2197 if (*String)(unsafe.Pointer(p)).z != 0 { 2198 sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z) 2199 } 2200 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(String{}))) 2201 } 2202 2203 func stringAppend(tls *libc.TLS, p uintptr, z uintptr, n int32) { 2204 if n < 0 { 2205 n = int32(libc.Xstrlen(tls, z)) 2206 } 2207 if (*String)(unsafe.Pointer(p)).n+n >= (*String)(unsafe.Pointer(p)).nAlloc { 2208 var nAlloc int32 = (*String)(unsafe.Pointer(p)).nAlloc*2 + n + 100 2209 var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc) 2210 if zNew == uintptr(0) { 2211 fatalError(tls, ts+129, 0) 2212 } 2213 (*String)(unsafe.Pointer(p)).z = zNew 2214 (*String)(unsafe.Pointer(p)).nAlloc = nAlloc 2215 } 2216 libc.Xmemcpy(tls, (*String)(unsafe.Pointer(p)).z+uintptr((*String)(unsafe.Pointer(p)).n), z, uint64(n)) 2217 *(*int32)(unsafe.Pointer(p + 8)) += n 2218 *(*uint8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = uint8(0) 2219 } 2220 2221 func stringReset(tls *libc.TLS, p uintptr) { 2222 if (*String)(unsafe.Pointer(p)).z == uintptr(0) { 2223 stringAppend(tls, p, ts+143, 1) 2224 } 2225 (*String)(unsafe.Pointer(p)).n = 0 2226 *(*uint8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z)) = uint8(0) 2227 } 2228 2229 func stringAppendTerm(tls *libc.TLS, p uintptr, z uintptr) { 2230 var i int32 2231 if (*String)(unsafe.Pointer(p)).n != 0 { 2232 stringAppend(tls, p, ts+143, 1) 2233 } 2234 if z == uintptr(0) { 2235 stringAppend(tls, p, ts+145, 3) 2236 return 2237 } 2238 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++ { 2239 } 2240 if i > 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == 0 { 2241 stringAppend(tls, p, z, i) 2242 return 2243 } 2244 stringAppend(tls, p, ts+149, 1) 2245 for *(*uint8)(unsafe.Pointer(z)) != 0 { 2246 for i = 0; *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) != '\''; i++ { 2247 } 2248 if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 { 2249 stringAppend(tls, p, z, i+1) 2250 stringAppend(tls, p, ts+149, 1) 2251 z += uintptr(i + 1) 2252 } else { 2253 stringAppend(tls, p, z, i) 2254 break 2255 } 2256 } 2257 stringAppend(tls, p, ts+149, 1) 2258 } 2259 2260 func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 { 2261 var p uintptr = pCData 2262 var i int32 2263 _ = azCol 2264 for i = 0; i < argc; i++ { 2265 stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) 2266 } 2267 return 0 2268 } 2269 2270 func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 { 2271 bp := tls.Alloc(46) 2272 defer tls.Free(46) 2273 2274 var ap va_list 2275 _ = ap 2276 var zSql uintptr 2277 var rc int32 2278 *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) 2279 ap = va 2280 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 2281 _ = ap 2282 2283 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct { 2284 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2285 }{evalCallback})), p, bp+8) 2286 sqlite3.Xsqlite3_free(tls, zSql) 2287 if rc != 0 { 2288 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+16, ts+151, libc.VaList(bp, rc)) 2289 stringAppendTerm(tls, p, bp+16) 2290 if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { 2291 stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) 2292 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) 2293 } 2294 } 2295 return rc 2296 } 2297 2298 func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { 2299 bp := tls.Alloc(24) 2300 defer tls.Free(24) 2301 2302 var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context) 2303 var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) 2304 2305 *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) 2306 var rc int32 2307 _ = argc 2308 libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(String{}))) 2309 rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { 2310 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 2311 }{evalCallback})), bp, bp+16) 2312 if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { 2313 sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 16)), -1) 2314 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) 2315 } else if rc != 0 { 2316 sqlite3.Xsqlite3_result_error_code(tls, context, rc) 2317 } else { 2318 sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp)).z, -1, libc.UintptrFromInt32(-1)) 2319 } 2320 stringFree(tls, bp) 2321 } 2322 2323 func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 { 2324 bp := tls.Alloc(80) 2325 defer tls.Free(80) 2326 2327 var pStmt uintptr = uintptr(0) 2328 var taskId int32 2329 var rc int32 2330 var totalTime int32 = 0 2331 2332 *(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0) 2333 g.iTimeout = 0 2334 for 1 != 0 { 2335 rc = trySql(tls, ts+161, 0) 2336 if rc == SQLITE_BUSY { 2337 sqlite3.Xsqlite3_sleep(tls, 10) 2338 totalTime = totalTime + 10 2339 continue 2340 } 2341 if rc != SQLITE_OK { 2342 fatalError(tls, ts+177, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2343 } 2344 if g.nError != 0 || g.nTest != 0 { 2345 runSql(tls, ts+196, 2346 libc.VaList(bp+8, g.nError, g.nTest)) 2347 g.nError = 0 2348 g.nTest = 0 2349 } 2350 pStmt = prepareSql(tls, ts+249, libc.VaList(bp+24, iClient)) 2351 rc = sqlite3.Xsqlite3_step(tls, pStmt) 2352 sqlite3.Xsqlite3_finalize(tls, pStmt) 2353 if rc == SQLITE_ROW { 2354 runSql(tls, ts+295, libc.VaList(bp+32, iClient)) 2355 g.iTimeout = DEFAULT_TIMEOUT 2356 runSql(tls, ts+326, 0) 2357 return SQLITE_DONE 2358 } 2359 pStmt = prepareSql(tls, 2360 ts+346, libc.VaList(bp+40, iClient)) 2361 rc = sqlite3.Xsqlite3_step(tls, pStmt) 2362 if rc == SQLITE_ROW { 2363 var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0) 2364 *(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, n+1) 2365 libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0)) 2366 *(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1)) 2367 *(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2))) 2368 sqlite3.Xsqlite3_finalize(tls, pStmt) 2369 runSql(tls, 2370 ts+441, libc.VaList(bp+56, taskId)) 2371 g.iTimeout = DEFAULT_TIMEOUT 2372 runSql(tls, ts+326, 0) 2373 return SQLITE_OK 2374 } 2375 sqlite3.Xsqlite3_finalize(tls, pStmt) 2376 if rc == SQLITE_DONE { 2377 if totalTime > 3000000 { 2378 errorMessage(tls, ts+524, 0) 2379 runSql(tls, ts+575, libc.VaList(bp+64, iClient)) 2380 sqlite3.Xsqlite3_close(tls, g.db) 2381 libc.Xexit(tls, 1) 2382 } 2383 for trySql(tls, ts+615, 0) == SQLITE_BUSY { 2384 sqlite3.Xsqlite3_sleep(tls, 10) 2385 totalTime = totalTime + 10 2386 } 2387 sqlite3.Xsqlite3_sleep(tls, 100) 2388 totalTime = totalTime + 100 2389 continue 2390 } 2391 fatalError(tls, ts+438, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db))) 2392 } 2393 g.iTimeout = DEFAULT_TIMEOUT 2394 return int32(0) 2395 } 2396 2397 func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 { 2398 bp := tls.Alloc(16) 2399 defer tls.Free(16) 2400 2401 runSql(tls, 2402 ts+622, libc.VaList(bp, taskId)) 2403 if bShutdown != 0 { 2404 runSql(tls, ts+295, libc.VaList(bp+8, iClient)) 2405 } 2406 return SQLITE_OK 2407 } 2408 2409 func startClient(tls *libc.TLS, iClient int32) { 2410 bp := tls.Alloc(96) 2411 defer tls.Free(96) 2412 2413 runSql(tls, ts+703, libc.VaList(bp, iClient)) 2414 if sqlite3.Xsqlite3_changes(tls, g.db) != 0 { 2415 var zSys uintptr 2416 var rc int32 2417 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+745, 2418 libc.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace)) 2419 if g.bSqlTrace != 0 { 2420 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+776, libc.VaList(bp+40, zSys)) 2421 } 2422 if g.bSync != 0 { 2423 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+790, libc.VaList(bp+48, zSys)) 2424 } 2425 if g.zVfs != 0 { 2426 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+800, libc.VaList(bp+56, zSys, g.zVfs)) 2427 } 2428 if g.iTrace >= 2 { 2429 logMessage(tls, ts+814, libc.VaList(bp+72, zSys)) 2430 } 2431 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+827, libc.VaList(bp+80, zSys)) 2432 rc = libc.Xsystem(tls, zSys) 2433 if rc != 0 { 2434 errorMessage(tls, ts+832, libc.VaList(bp+88, rc)) 2435 } 2436 sqlite3.Xsqlite3_free(tls, zSys) 2437 } 2438 } 2439 2440 func readFile(tls *libc.TLS, zFilename uintptr) uintptr { 2441 bp := tls.Alloc(8) 2442 defer tls.Free(8) 2443 2444 var in uintptr = libc.Xfopen(tls, zFilename, ts+866) 2445 var sz int64 2446 var z uintptr 2447 if in == uintptr(0) { 2448 fatalError(tls, ts+869, libc.VaList(bp, zFilename)) 2449 } 2450 libc.Xfseek(tls, in, int64(0), SEEK_END) 2451 sz = libc.Xftell(tls, in) 2452 libc.Xrewind(tls, in) 2453 z = sqlite3.Xsqlite3_malloc(tls, int32(sz+int64(1))) 2454 sz = int64(libc.Xfread(tls, z, uint64(1), uint64(sz), in)) 2455 *(*uint8)(unsafe.Pointer(z + uintptr(sz))) = uint8(0) 2456 libc.Xfclose(tls, in) 2457 return z 2458 } 2459 2460 func tokenLength(tls *libc.TLS, z uintptr, pnLine uintptr) int32 { 2461 var n int32 = 0 2462 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))) == '*' { 2463 var inC int32 = 0 2464 var c int32 2465 if int32(*(*uint8)(unsafe.Pointer(z))) == '/' { 2466 inC = 1 2467 n = 2 2468 } 2469 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1)))))) != 0 { 2470 if c == '\n' { 2471 *(*int32)(unsafe.Pointer(pnLine))++ 2472 } 2473 if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(uint8(c)))*2)))&int32(_ISspace) != 0 { 2474 continue 2475 } 2476 if inC != 0 && c == '*' && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '/' { 2477 n++ 2478 inC = 0 2479 } else if !(inC != 0) && c == '/' && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '*' { 2480 n++ 2481 inC = 1 2482 } else if !(inC != 0) { 2483 break 2484 } 2485 } 2486 n-- 2487 } else if int32(*(*uint8)(unsafe.Pointer(z))) == '-' && int32(*(*uint8)(unsafe.Pointer(z + 1))) == '-' { 2488 for n = 2; *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) != '\n'; n++ { 2489 } 2490 if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { 2491 *(*int32)(unsafe.Pointer(pnLine))++ 2492 n++ 2493 } 2494 } else if int32(*(*uint8)(unsafe.Pointer(z))) == '"' || int32(*(*uint8)(unsafe.Pointer(z))) == '\'' { 2495 var delim int32 = int32(*(*uint8)(unsafe.Pointer(z))) 2496 for n = 1; *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ { 2497 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '\n' { 2498 *(*int32)(unsafe.Pointer(pnLine))++ 2499 } 2500 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == delim { 2501 n++ 2502 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+1)))) != delim { 2503 break 2504 } 2505 } 2506 } 2507 } else { 2508 var c int32 2509 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++ { 2510 } 2511 } 2512 return n 2513 } 2514 2515 func extractToken(tls *libc.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 { 2516 var i int32 2517 if nIn <= 0 { 2518 *(*uint8)(unsafe.Pointer(zOut)) = uint8(0) 2519 return 0 2520 } 2521 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++ { 2522 *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) = *(*uint8)(unsafe.Pointer(zIn + uintptr(i))) 2523 } 2524 *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) = uint8(0) 2525 return i 2526 } 2527 2528 func findEnd(tls *libc.TLS, z uintptr, pnLine uintptr) int32 { 2529 var n int32 = 0 2530 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)) { 2531 n = n + tokenLength(tls, z+uintptr(n), pnLine) 2532 } 2533 return n 2534 } 2535 2536 func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 { 2537 var n int32 = 0 2538 for *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { 2539 var len int32 = tokenLength(tls, z+uintptr(n), pnLine) 2540 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 || 2541 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 { 2542 return n + len 2543 } 2544 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 { 2545 var skip int32 = findEndif(tls, z+uintptr(n)+uintptr(len), 0, pnLine) 2546 n = n + (skip + len) 2547 } else { 2548 n = n + len 2549 } 2550 } 2551 return n 2552 } 2553 2554 func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) { 2555 bp := tls.Alloc(32) 2556 defer tls.Free(32) 2557 2558 var pStmt uintptr 2559 var rc int32 2560 if iClient > 0 { 2561 pStmt = prepareSql(tls, 2562 ts+924, 2563 libc.VaList(bp, iClient)) 2564 } else { 2565 pStmt = prepareSql(tls, 2566 ts+1020, 0) 2567 } 2568 g.iTimeout = 0 2569 for (libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY || rc == SQLITE_ROW) && 2570 iTimeout > 0 { 2571 sqlite3.Xsqlite3_reset(tls, pStmt) 2572 sqlite3.Xsqlite3_sleep(tls, 50) 2573 iTimeout = iTimeout - 50 2574 } 2575 sqlite3.Xsqlite3_finalize(tls, pStmt) 2576 g.iTimeout = DEFAULT_TIMEOUT 2577 if rc != SQLITE_DONE { 2578 if zErrPrefix == uintptr(0) { 2579 zErrPrefix = ts + 1101 2580 } 2581 if iClient > 0 { 2582 errorMessage(tls, ts+1102, libc.VaList(bp+8, zErrPrefix, iClient)) 2583 } else { 2584 errorMessage(tls, ts+1134, libc.VaList(bp+24, zErrPrefix)) 2585 } 2586 } 2587 } 2588 2589 func filenameTail(tls *libc.TLS, z uintptr) uintptr { 2590 var i int32 2591 var j int32 2592 for i = libc.AssignInt32(&j, 0); *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ { 2593 if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == '/' { 2594 j = i + 1 2595 } 2596 } 2597 return z + uintptr(j) 2598 } 2599 2600 func booleanValue(tls *libc.TLS, zArg uintptr) int32 { 2601 bp := tls.Alloc(8) 2602 defer tls.Free(8) 2603 2604 var i int32 2605 if zArg == uintptr(0) { 2606 return 0 2607 } 2608 for i = 0; int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'; i++ { 2609 } 2610 if i > 0 && int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) == 0 { 2611 return libc.Xatoi(tls, zArg) 2612 } 2613 if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1168) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1171) == 0 { 2614 return 1 2615 } 2616 if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1175) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1179) == 0 { 2617 return 0 2618 } 2619 errorMessage(tls, ts+1182, libc.VaList(bp, zArg)) 2620 return 0 2621 } 2622 2623 func test_breakpoint(tls *libc.TLS) { 2624 atomic.AddInt32(&cnt, 1) 2625 } 2626 2627 var cnt int32 = 0 2628 2629 func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) { 2630 bp := tls.Alloc(1610) 2631 defer tls.Free(1610) 2632 2633 *(*int32)(unsafe.Pointer(bp + 376)) = 1 2634 var prevLine int32 = 1 2635 var ii int32 = 0 2636 var iBegin int32 = 0 2637 var n int32 2638 var c int32 2639 var j int32 2640 var len int32 2641 var nArg int32 2642 2643 libc.Xmemset(tls, bp+360, 0, uint64(unsafe.Sizeof(String{}))) 2644 stringReset(tls, bp+360) 2645 for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii))))) != 0 { 2646 prevLine = *(*int32)(unsafe.Pointer(bp + 376)) 2647 len = tokenLength(tls, zScript+uintptr(ii), bp+376) 2648 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)))) == '*' { 2649 ii = ii + len 2650 continue 2651 } 2652 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) { 2653 ii = ii + len 2654 continue 2655 } 2656 2657 if ii > iBegin { 2658 var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp, ii-iBegin, zScript+uintptr(iBegin))) 2659 evalSql(tls, bp+360, zSql, 0) 2660 sqlite3.Xsqlite3_free(tls, zSql) 2661 iBegin = ii + len 2662 } 2663 2664 if g.iTrace >= 2 { 2665 logMessage(tls, ts+1204, libc.VaList(bp+16, len, zScript+uintptr(ii))) 2666 } 2667 n = extractToken(tls, zScript+uintptr(ii)+uintptr(2), len-2, bp+380, int32(unsafe.Sizeof([30]uint8{}))) 2668 for nArg = 0; n < len-2 && nArg < MX_ARG; nArg++ { 2669 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 { 2670 n++ 2671 } 2672 if n >= len-2 { 2673 break 2674 } 2675 n = n + extractToken(tls, zScript+uintptr(ii)+uintptr(2)+uintptr(n), len-2-n, 2676 bp+410+uintptr(nArg)*100, int32(unsafe.Sizeof([100]uint8{}))) 2677 } 2678 for j = nArg; j < MX_ARG; j++ { 2679 *(*uint8)(unsafe.Pointer(bp + 410 + uintptr(libc.PostIncInt32(&j, 1))*100)) = uint8(0) 2680 } 2681 2682 if libc.Xstrcmp(tls, bp+380, ts+1209) == 0 { 2683 sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, bp+410)) 2684 } else if libc.Xstrcmp(tls, bp+380, ts+1215) == 0 { 2685 var rc int32 = libc.Xatoi(tls, bp+410) 2686 finishScript(tls, iClient, taskId, 1) 2687 if rc == 0 { 2688 sqlite3.Xsqlite3_close(tls, g.db) 2689 } 2690 libc.Xexit(tls, rc) 2691 } else if libc.Xstrcmp(tls, bp+380, ts+1220) == 0 { 2692 if g.iTrace == 1 { 2693 logMessage(tls, ts+1204, libc.VaList(bp+32, len-1, zScript+uintptr(ii))) 2694 } 2695 stringReset(tls, bp+360) 2696 } else if libc.Xstrcmp(tls, bp+380, ts+1229) == 0 && iClient > 0 { 2697 finishScript(tls, iClient, taskId, 1) 2698 } else if libc.Xstrcmp(tls, bp+380, ts+1236) == 0 { 2699 stringReset(tls, bp+360) 2700 } else if libc.Xstrcmp(tls, bp+380, ts+1242) == 0 { 2701 var jj int32 2702 var zAns uintptr = zScript + uintptr(ii) 2703 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++ { 2704 } 2705 zAns += uintptr(jj) 2706 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 { 2707 errorMessage(tls, ts+1248, 2708 libc.VaList(bp+48, prevLine, zFilename, len-jj-1, zAns, (*String)(unsafe.Pointer(bp+360)).z)) 2709 } 2710 g.nTest++ 2711 stringReset(tls, bp+360) 2712 } else if libc.Xstrcmp(tls, bp+380, ts+1293) == 0 || libc.Xstrcmp(tls, bp+380, ts+1298) == 0 { 2713 var jj int32 2714 var zAns uintptr = zScript + uintptr(ii) 2715 var zCopy uintptr 2716 var isGlob int32 = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(bp + 380))) == 'g') 2717 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++ { 2718 } 2719 zAns += uintptr(jj) 2720 zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+88, len-jj-1, zAns)) 2721 if libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360)).z) == 0)^isGlob != 0 { 2722 errorMessage(tls, ts+1306, 2723 libc.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360)).z)) 2724 } 2725 sqlite3.Xsqlite3_free(tls, zCopy) 2726 g.nTest++ 2727 stringReset(tls, bp+360) 2728 } else if libc.Xstrcmp(tls, bp+380, ts+1349) == 0 { 2729 logMessage(tls, ts+438, libc.VaList(bp+136, (*String)(unsafe.Pointer(bp+360)).z)) 2730 } else if libc.Xstrcmp(tls, bp+380, ts+1356) == 0 { 2731 var zNewFile uintptr 2732 var zNewScript uintptr 2733 var zToDel uintptr = uintptr(0) 2734 zNewFile = bp + 410 2735 if !(int32(*(*uint8)(unsafe.Pointer(zNewFile))) == '/') { 2736 var k int32 2737 for k = int32(libc.Xstrlen(tls, zFilename)) - 1; k >= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFilename + uintptr(k)))) == '/'); k-- { 2738 } 2739 if k > 0 { 2740 zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1363, libc.VaList(bp+144, k, zFilename, zNewFile))) 2741 } 2742 } 2743 zNewScript = readFile(tls, zNewFile) 2744 if g.iTrace != 0 { 2745 logMessage(tls, ts+1371, libc.VaList(bp+168, zNewFile)) 2746 } 2747 runScript(tls, 0, 0, zNewScript, zNewFile) 2748 sqlite3.Xsqlite3_free(tls, zNewScript) 2749 if g.iTrace != 0 { 2750 logMessage(tls, ts+1390, libc.VaList(bp+176, zNewFile)) 2751 } 2752 sqlite3.Xsqlite3_free(tls, zToDel) 2753 } else if libc.Xstrcmp(tls, bp+380, ts+1407) == 0 { 2754 var jj int32 2755 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++ { 2756 } 2757 logMessage(tls, ts+1204, libc.VaList(bp+184, len-jj, zScript+uintptr(ii)+uintptr(jj))) 2758 } else if libc.Xstrcmp(tls, bp+380, ts+1413) == 0 { 2759 var jj int32 2760 var rc int32 2761 var pStmt uintptr 2762 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++ { 2763 } 2764 pStmt = prepareSql(tls, ts+1416, libc.VaList(bp+200, len-jj, zScript+uintptr(ii)+uintptr(jj))) 2765 rc = sqlite3.Xsqlite3_step(tls, pStmt) 2766 if rc != SQLITE_ROW || sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0 { 2767 ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 1, bp+376) 2768 } 2769 sqlite3.Xsqlite3_finalize(tls, pStmt) 2770 } else if libc.Xstrcmp(tls, bp+380, ts+1428) == 0 { 2771 ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 0, bp+376) 2772 } else if libc.Xstrcmp(tls, bp+380, ts+1433) == 0 { 2773 } else if libc.Xstrcmp(tls, bp+380, ts+1439) == 0 && iClient == 0 { 2774 var iNewClient int32 = libc.Xatoi(tls, bp+410) 2775 if iNewClient > 0 { 2776 startClient(tls, iNewClient) 2777 } 2778 } else if libc.Xstrcmp(tls, bp+380, ts+1445) == 0 && iClient == 0 { 2779 var iTimeout int32 2780 if nArg >= 2 { 2781 iTimeout = libc.Xatoi(tls, bp+410+1*100) 2782 } else { 2783 iTimeout = DEFAULT_TIMEOUT 2784 } 2785 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]uint8{})), bp+610, ts+1450, 2786 libc.VaList(bp+216, prevLine, zFilename)) 2787 waitForClient(tls, libc.Xatoi(tls, bp+410), iTimeout, bp+610) 2788 } else if libc.Xstrcmp(tls, bp+380, ts+1465) == 0 && iClient == 0 { 2789 var iTarget int32 = libc.Xatoi(tls, bp+410) 2790 var iEnd int32 2791 var zTask uintptr 2792 var zTName uintptr 2793 iEnd = findEnd(tls, zScript+uintptr(ii)+uintptr(len), bp+376) 2794 if iTarget < 0 { 2795 errorMessage(tls, ts+1470, 2796 libc.VaList(bp+232, prevLine, zFilename, iTarget)) 2797 } else { 2798 zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+256, iEnd, zScript+uintptr(ii)+uintptr(len))) 2799 if nArg > 1 { 2800 zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+272, bp+410+1*100)) 2801 } else { 2802 zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1507, libc.VaList(bp+280, filenameTail(tls, zFilename), prevLine)) 2803 } 2804 startClient(tls, iTarget) 2805 runSql(tls, 2806 ts+1513, libc.VaList(bp+296, iTarget, zTask, zTName)) 2807 sqlite3.Xsqlite3_free(tls, zTask) 2808 sqlite3.Xsqlite3_free(tls, zTName) 2809 } 2810 iEnd = iEnd + tokenLength(tls, zScript+uintptr(ii)+uintptr(len)+uintptr(iEnd), bp+376) 2811 len = len + iEnd 2812 iBegin = ii + len 2813 } else if libc.Xstrcmp(tls, bp+380, ts+1569) == 0 { 2814 test_breakpoint(tls) 2815 } else if libc.Xstrcmp(tls, bp+380, ts+1580) == 0 { 2816 g.bIgnoreSqlErrors = func() int32 { 2817 if nArg >= 1 { 2818 return libc.BoolInt32(!(booleanValue(tls, bp+410) != 0)) 2819 } 2820 return 1 2821 }() 2822 } else { 2823 errorMessage(tls, ts+1596, 2824 libc.VaList(bp+320, prevLine, zFilename, bp+380)) 2825 } 2826 ii = ii + len 2827 } 2828 if iBegin < ii { 2829 var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+344, ii-iBegin, zScript+uintptr(iBegin))) 2830 runSql(tls, zSql, 0) 2831 sqlite3.Xsqlite3_free(tls, zSql) 2832 } 2833 stringFree(tls, bp+360) 2834 } 2835 2836 func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr { 2837 bp := tls.Alloc(8) 2838 defer tls.Free(8) 2839 2840 var i int32 2841 var j int32 2842 var zReturn uintptr = uintptr(0) 2843 var nArg int32 = *(*int32)(unsafe.Pointer(pnArg)) 2844 2845 for i = 0; i < nArg; i++ { 2846 var z uintptr 2847 if i+hasArg >= nArg { 2848 break 2849 } 2850 z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)) 2851 if int32(*(*uint8)(unsafe.Pointer(z))) != '-' { 2852 continue 2853 } 2854 z++ 2855 if int32(*(*uint8)(unsafe.Pointer(z))) == '-' { 2856 if int32(*(*uint8)(unsafe.Pointer(z + 1))) == 0 { 2857 break 2858 } 2859 z++ 2860 } 2861 if libc.Xstrcmp(tls, z, zOption) == 0 { 2862 if hasArg != 0 && i == nArg-1 { 2863 fatalError(tls, ts+1632, libc.VaList(bp, z)) 2864 } 2865 if hasArg != 0 { 2866 zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8)) 2867 } else { 2868 zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)) 2869 } 2870 j = i + 1 + libc.Bool32(hasArg != 0) 2871 for j < nArg { 2872 *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&i, 1))*8)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&j, 1))*8)) 2873 } 2874 *(*int32)(unsafe.Pointer(pnArg)) = i 2875 return zReturn 2876 } 2877 } 2878 return zReturn 2879 } 2880 2881 func usage(tls *libc.TLS, argv0 uintptr) { 2882 bp := tls.Alloc(8) 2883 defer tls.Free(8) 2884 2885 var i int32 2886 var zTail uintptr = argv0 2887 for i = 0; *(*uint8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ { 2888 if int32(*(*uint8)(unsafe.Pointer(argv0 + uintptr(i)))) == '/' { 2889 zTail = argv0 + uintptr(i) + uintptr(1) 2890 } 2891 } 2892 libc.Xfprintf(tls, libc.Xstderr, ts+1680, libc.VaList(bp, zTail)) 2893 libc.Xfprintf(tls, libc.Xstderr, 2894 ts+1719, 0) 2895 libc.Xexit(tls, 1) 2896 } 2897 2898 func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) { 2899 bp := tls.Alloc(16) 2900 defer tls.Free(16) 2901 2902 var i int32 2903 libc.Xfprintf(tls, libc.Xstderr, ts+2291, libc.VaList(bp, argv0)) 2904 for i = 0; i < nArg; i++ { 2905 libc.Xfprintf(tls, libc.Xstderr, ts+2319, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)))) 2906 } 2907 libc.Xfprintf(tls, libc.Xstderr, ts+2323, 0) 2908 libc.Xexit(tls, 1) 2909 } 2910 2911 func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { 2912 bp := tls.Alloc(264) 2913 defer tls.Free(264) 2914 2915 var zClient uintptr 2916 var iClient int32 2917 2918 var i int32 2919 var openFlags int32 = SQLITE_OPEN_READWRITE 2920 var rc int32 2921 2922 var zTrace uintptr 2923 var zCOption uintptr 2924 var zJMode uintptr 2925 var zNRep uintptr 2926 var nRep int32 = 1 2927 var iRep int32 2928 var iTmout int32 = 0 2929 var zTmout uintptr 2930 2931 g.argv0 = *(*uintptr)(unsafe.Pointer(argv)) 2932 g.iTrace = 1 2933 if argc < 2 { 2934 usage(tls, *(*uintptr)(unsafe.Pointer(argv))) 2935 } 2936 g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + 1*8)) 2937 if strglob(tls, ts+2325, g.zDbFile) != 0 { 2938 usage(tls, *(*uintptr)(unsafe.Pointer(argv))) 2939 } 2940 if libc.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2332) != 0 { 2941 libc.Xfprintf(tls, libc.Xstderr, 2942 ts+2417, 2943 libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2332)) 2944 libc.Xexit(tls, 1) 2945 } 2946 *(*int32)(unsafe.Pointer(bp + 232)) = argc - 2 2947 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]uint8{})), uintptr(unsafe.Pointer(&g))+64, ts+2477, libc.VaList(bp+16, libc.Xgetpid(tls))) 2948 zJMode = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2489, 1) 2949 zNRep = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2501, 1) 2950 if zNRep != 0 { 2951 nRep = libc.Xatoi(tls, zNRep) 2952 } 2953 if nRep < 1 { 2954 nRep = 1 2955 } 2956 g.zVfs = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2508, 1) 2957 zClient = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2512, 1) 2958 g.zErrLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2519, 1) 2959 g.zLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2526, 1) 2960 zTrace = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2530, 1) 2961 if zTrace != 0 { 2962 g.iTrace = libc.Xatoi(tls, zTrace) 2963 } 2964 if findOption(tls, argv+uintptr(2)*8, bp+232, ts+2536, 0) != uintptr(0) { 2965 g.iTrace = 0 2966 } 2967 zTmout = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2542, 1) 2968 if zTmout != 0 { 2969 iTmout = libc.Xatoi(tls, zTmout) 2970 } 2971 g.bSqlTrace = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2550, 0) != uintptr(0)) 2972 g.bSync = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2559, 0) != uintptr(0)) 2973 if g.zErrLog != 0 { 2974 g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2564) 2975 } else { 2976 g.pErrLog = libc.Xstderr 2977 } 2978 if g.zLog != 0 { 2979 g.pLog = libc.Xfopen(tls, g.zLog, ts+2564) 2980 } else { 2981 g.pLog = libc.Xstdout 2982 } 2983 2984 sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct { 2985 f func(*libc.TLS, uintptr, int32, uintptr) 2986 }{sqlErrorCallback})), 0)) 2987 if zClient != 0 { 2988 iClient = libc.Xatoi(tls, zClient) 2989 if iClient < 1 { 2990 fatalError(tls, ts+2566, libc.VaList(bp+40, iClient)) 2991 } 2992 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]uint8{})), uintptr(unsafe.Pointer(&g))+64, ts+2593, 2993 libc.VaList(bp+48, libc.Xgetpid(tls), iClient)) 2994 } else { 2995 var nTry int32 = 0 2996 if g.iTrace > 0 { 2997 libc.Xprintf(tls, ts+2609, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv)))) 2998 for i = 1; i < argc; i++ { 2999 libc.Xprintf(tls, ts+2319, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3000 } 3001 libc.Xprintf(tls, ts+2323, 0) 3002 libc.Xprintf(tls, ts+2619, 0) 3003 for i = 0; libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i)) != uintptr(0); i++ { 3004 libc.Xprintf(tls, ts+2724, libc.VaList(bp+80, zCOption)) 3005 } 3006 libc.Xfflush(tls, libc.Xstdout) 3007 } 3008 iClient = 0 3009 for __ccgo := true; __ccgo; __ccgo = rc != 0 && libc.PreIncInt32(&nTry, 1) < 60 && sqlite3.Xsqlite3_sleep(tls, 1000) > 0 { 3010 if nTry%5 == 4 { 3011 libc.Xprintf(tls, ts+2737, 3012 libc.VaList(bp+88, func() uintptr { 3013 if nTry > 5 { 3014 return ts + 2766 3015 } 3016 return ts + 1101 3017 }(), g.zDbFile)) 3018 } 3019 rc = libc.Xunlink(tls, g.zDbFile) 3020 if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT { 3021 rc = 0 3022 } 3023 } 3024 if rc != 0 { 3025 fatalError(tls, ts+2773, 3026 libc.VaList(bp+104, g.zDbFile, nTry)) 3027 } 3028 openFlags = openFlags | SQLITE_OPEN_CREATE 3029 } 3030 rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, uintptr(unsafe.Pointer(&g))+24, openFlags, g.zVfs) 3031 if rc != 0 { 3032 fatalError(tls, ts+2814, libc.VaList(bp+120, g.zDbFile)) 3033 } 3034 if iTmout > 0 { 3035 sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout) 3036 } 3037 3038 if zJMode != 0 { 3039 runSql(tls, ts+2831, libc.VaList(bp+128, zJMode)) 3040 } 3041 if !(g.bSync != 0) { 3042 trySql(tls, ts+2855, 0) 3043 } 3044 sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1) 3045 sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3046 f func(*libc.TLS, uintptr, int32) int32 3047 }{busyHandler})), uintptr(0)) 3048 sqlite3.Xsqlite3_create_function(tls, g.db, ts+2878, 0, SQLITE_UTF8, uintptr(0), 3049 *(*uintptr)(unsafe.Pointer(&struct { 3050 f func(*libc.TLS, uintptr, int32, uintptr) 3051 }{vfsNameFunc})), uintptr(0), uintptr(0)) 3052 sqlite3.Xsqlite3_create_function(tls, g.db, ts+2886, 1, SQLITE_UTF8, uintptr(0), 3053 *(*uintptr)(unsafe.Pointer(&struct { 3054 f func(*libc.TLS, uintptr, int32, uintptr) 3055 }{evalFunc})), uintptr(0), uintptr(0)) 3056 g.iTimeout = DEFAULT_TIMEOUT 3057 if g.bSqlTrace != 0 { 3058 sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 3059 f func(*libc.TLS, uintptr, uintptr) 3060 }{sqlTraceCallback})), uintptr(0)) 3061 } 3062 if iClient > 0 { 3063 if *(*int32)(unsafe.Pointer(bp + 232)) > 0 { 3064 unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8) 3065 } 3066 if g.iTrace != 0 { 3067 logMessage(tls, ts+2891, 0) 3068 } 3069 for 1 != 0 { 3070 *(*uintptr)(unsafe.Pointer(bp + 256)) = uintptr(0) 3071 rc = startScript(tls, iClient, bp+240, bp+248, bp+256) 3072 if rc == SQLITE_DONE { 3073 break 3074 } 3075 if g.iTrace != 0 { 3076 logMessage(tls, ts+2904, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248)))) 3077 } 3078 runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(bp + 256))) 3079 if g.iTrace != 0 { 3080 logMessage(tls, ts+2918, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248)))) 3081 } 3082 finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), 0) 3083 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 256))) 3084 sqlite3.Xsqlite3_sleep(tls, 10) 3085 } 3086 if g.iTrace != 0 { 3087 logMessage(tls, ts+2930, 0) 3088 } 3089 } else { 3090 var pStmt uintptr 3091 var iTimeout int32 3092 if *(*int32)(unsafe.Pointer(bp + 232)) == 0 { 3093 fatalError(tls, ts+2941, 0) 3094 } 3095 if *(*int32)(unsafe.Pointer(bp + 232)) > 1 { 3096 unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8) 3097 } 3098 runSql(tls, 3099 ts+2965, 0) 3100 *(*uintptr)(unsafe.Pointer(bp + 240)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) 3101 for iRep = 1; iRep <= nRep; iRep++ { 3102 if g.iTrace != 0 { 3103 logMessage(tls, ts+3401, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) 3104 } 3105 runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(argv + 2*8))) 3106 if g.iTrace != 0 { 3107 logMessage(tls, ts+3429, libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) 3108 } 3109 } 3110 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 240))) 3111 waitForClient(tls, 0, 2000, ts+3455) 3112 trySql(tls, ts+3475, 0) 3113 sqlite3.Xsqlite3_sleep(tls, 10) 3114 g.iTimeout = 0 3115 iTimeout = 1000 3116 for (libc.AssignInt32(&rc, trySql(tls, ts+3504, 0)) == SQLITE_BUSY || 3117 rc == SQLITE_ROW) && iTimeout > 0 { 3118 sqlite3.Xsqlite3_sleep(tls, 10) 3119 iTimeout = iTimeout - 10 3120 } 3121 sqlite3.Xsqlite3_sleep(tls, 100) 3122 pStmt = prepareSql(tls, ts+3525, 0) 3123 iTimeout = 1000 3124 for libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY && iTimeout > 0 { 3125 sqlite3.Xsqlite3_sleep(tls, 10) 3126 iTimeout = iTimeout - 10 3127 } 3128 if rc == SQLITE_ROW { 3129 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 0) 3130 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 116)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 1) 3131 } 3132 sqlite3.Xsqlite3_finalize(tls, pStmt) 3133 } 3134 sqlite3.Xsqlite3_close(tls, g.db) 3135 maybeClose(tls, g.pLog) 3136 maybeClose(tls, g.pErrLog) 3137 if iClient == 0 { 3138 libc.Xprintf(tls, ts+3560, libc.VaList(bp+200, g.nError, g.nTest)) 3139 libc.Xprintf(tls, ts+3596, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv)))) 3140 for i = 1; i < argc; i++ { 3141 libc.Xprintf(tls, ts+2319, libc.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) 3142 } 3143 libc.Xprintf(tls, ts+2323, 0) 3144 } 3145 return libc.Bool32(g.nError > 0) 3146 } 3147 3148 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" 3149 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data